RE: What I want in CF (was: Learning ASP)
I agree to a certain extent, however, I do not feel that Allaire's efforts are best spent developing an XML parser for ColdFusion. In my opinion, too much work needs to be done to the existing code base and functionality. Perhaps the best of both worlds would be if Allaire picked one parser (say Xerces) and redistributed that with the server. I think I'd rather have Allaire point the developers in a direction rather than reinventing the wheel. In any case, it is what it is. There are plenty of solid XML parsers out there that can be incorporated into ColdFusion apps. I would just pick the one that claims 100% compatibility and let everyone else worry about making theirs work with yours. Now, all that said, I wouldn't mind seeing a native XML parser built into ColdFusion if they fixed everything else first. :) Benjamin S. Rogers Web Developer, c4.net voice: (508) 240-0051 fax: (508) 240-0057 -Original Message- From: Steve Bernard [mailto:[EMAIL PROTECTED]] Sent: Thursday, August 31, 2000 4:25 PM To: [EMAIL PROTECTED] Subject: RE: What I want in CF (was: Learning ASP) MSXML.DLL, right? This will work on NT but, doesn't help *NIX users. I feel that an XML parser would be beneficial enough that it should be included in CF. Right now only a portion of the developer base can make use of MSXML.DLL. There's the OS issue and the fact that the developers need open access to CFOBJECT. These two things will limit a lot of developers, especially those in remotely hosted environments. Also, MSXML, while steadily improving, is NOT 100% W3C XML 1.0 compliant. Version 3.0 Beta, the most recent, is approx. 95-97% compliant so things look good but, it still has some issues to resolve relating to non-existent or malformed unused entities, attribute-value normalization, end-of-line handling, and reporting validity constraints when running in non-validating mode. Ok, so MSXML isn't 100 compliant, so what? Well, if I use MSXML and you use Xerces (Apache Project's XML parser) we may come up with different results. I'd rather have everyone using one parser that is 90% compliant than 10 parsers, each of which produces slightly different results. Steve -Original Message- From: Benjamin S. Rogers [mailto:[EMAIL PROTECTED]] Sent: Thursday, August 31, 2000 10:16 AM To: [EMAIL PROTECTED] Subject: RE: What I want in CF (was: Learning ASP) XML parser. Enough to check well-formedness with the option to validate against a DTD. It doesn't have to "execute" the XML. If you are on NT, what about the XML Parser that comes with Internet Explorer? Many people have been using this successfully from within ColdFusion Apps. Benjamin S. Rogers Web Developer, c4.net voice: (508) 240-0051 fax: (508) 240-0057 -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: What I want in CF (was: Learning ASP)
Fixing old problems is definitely more needed than new features like XML. I wasn't suggesting that Allaire develop a proprietary parser, but rather, do exactly as you said and plug in a third-party parser. Granted, I am assuming that there is a vendor who makes a parser for both Windows and *NIX systems. This method is exactly what Allaire does now to provide a lot of the core functionality of CF. It is also used as an excuse when things don't work out as well as they should. When I've requested better RegEx support from Allaire, they've kept saying, "It's not our fault, the third-party RegEx engine we use doesn't support those features." A more prominent example is CFHTTP. Prior to the 4.5.x series CFHTTP didn't support SSL. Why? Because Allaire used the WinInet.dll library, which doesn't allow the use of SSL. They changed libraries and now we have SSL support but, other problems persist. So, it goes both ways and shows that it really isn't all that hard to plug new features in if you have developed a framework that allows for it. Steve -Original Message- From: Benjamin S. Rogers [mailto:[EMAIL PROTECTED]] Sent: Friday, September 01, 2000 12:35 AM To: [EMAIL PROTECTED] Subject: RE: What I want in CF (was: Learning ASP) I agree to a certain extent, however, I do not feel that Allaire's efforts are best spent developing an XML parser for ColdFusion. In my opinion, too much work needs to be done to the existing code base and functionality. Perhaps the best of both worlds would be if Allaire picked one parser (say Xerces) and redistributed that with the server. I think I'd rather have Allaire point the developers in a direction rather than reinventing the wheel. In any case, it is what it is. There are plenty of solid XML parsers out there that can be incorporated into ColdFusion apps. I would just pick the one that claims 100% compatibility and let everyone else worry about making theirs work with yours. Now, all that said, I wouldn't mind seeing a native XML parser built into ColdFusion if they fixed everything else first. :) Benjamin S. Rogers Web Developer, c4.net voice: (508) 240-0051 fax: (508) 240-0057 -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: What I want in CF (was: Learning ASP)
XML parser. Enough to check well-formedness with the option to validate against a DTD. It doesn't have to "execute" the XML. If you are on NT, what about the XML Parser that comes with Internet Explorer? Many people have been using this successfully from within ColdFusion Apps. Benjamin S. Rogers Web Developer, c4.net voice: (508) 240-0051 fax: (508) 240-0057 -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: What I want in CF (was: Learning ASP)
MSXML.DLL, right? This will work on NT but, doesn't help *NIX users. I feel that an XML parser would be beneficial enough that it should be included in CF. Right now only a portion of the developer base can make use of MSXML.DLL. There's the OS issue and the fact that the developers need open access to CFOBJECT. These two things will limit a lot of developers, especially those in remotely hosted environments. Also, MSXML, while steadily improving, is NOT 100% W3C XML 1.0 compliant. Version 3.0 Beta, the most recent, is approx. 95-97% compliant so things look good but, it still has some issues to resolve relating to non-existent or malformed unused entities, attribute-value normalization, end-of-line handling, and reporting validity constraints when running in non-validating mode. Ok, so MSXML isn't 100 compliant, so what? Well, if I use MSXML and you use Xerces (Apache Project's XML parser) we may come up with different results. I'd rather have everyone using one parser that is 90% compliant than 10 parsers, each of which produces slightly different results. Steve -Original Message- From: Benjamin S. Rogers [mailto:[EMAIL PROTECTED]] Sent: Thursday, August 31, 2000 10:16 AM To: [EMAIL PROTECTED] Subject: RE: What I want in CF (was: Learning ASP) XML parser. Enough to check well-formedness with the option to validate against a DTD. It doesn't have to "execute" the XML. If you are on NT, what about the XML Parser that comes with Internet Explorer? Many people have been using this successfully from within ColdFusion Apps. Benjamin S. Rogers Web Developer, c4.net voice: (508) 240-0051 fax: (508) 240-0057 -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
Re: What I want in CF (was: Learning ASP)
I'm sure I'll think of more... I don't suppose there's any Allaire programmers reading this list taking notes, are there? ;-) There's always the "ColdFusion Enhancement Requests" section in Allaire Support Forums. Does anyone have some spare time to collect the ideas from this thread and post them there? Erki -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: What I want in CF (was: Learning ASP)
*chortle* There is always CF to keep you entertained with its error messages.. I dont think I could live with out gems like this. - Error Diagnostic Information An error occurred while evaluating the expression: tmp = Evaluate("structCPage.strLink" #i#, "") Error near line 27, column 8. An error has occurred while processing the expression: The reason for the error is unknown. The error occurred while processing an element with a general identifier of (CFSET), occupying document position (27:2) to (27:56) in the template file D:\DONT\YOU\_WISH.CFM. Date/Time: 08/30/00 11:23:27 Browser: Mozilla/4.0 (compatible; Zen 9.99; Ack NT; ??) Remote Address: again.dont.you.wish HTTP Referer: http://notachance ;) Query String: fa=ValidateDataCFID=zzzCFTOKEN=zzz Of course I realized the error immediately (that was a SetVaraible so the , "" has to go but obviosuly CF doesnt get itG -Original Message- From: Erki Esken [mailto:[EMAIL PROTECTED]] Sent: Wednesday, August 30, 2000 6:19 AM To: [EMAIL PROTECTED] Subject: Re: What I want in CF (was: Learning ASP) I'm sure I'll think of more... I don't suppose there's any Allaire programmers reading this list taking notes, are there? ;-) There's always the "ColdFusion Enhancement Requests" section in Allaire Support Forums. Does anyone have some spare time to collect the ideas from this thread and post them there? Erki -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
Re: What I want in CF (was: Learning ASP)
I didn't say it was pretty :-) At 09:21 AM 8/29/00 -0400, Jamie Keane wrote: God that's kludgy, but if it works it works, eh? Still, I wish Allaire would put a more "standardised" and documented syntax, so I wouldn't have to scratch my head as much. :) -- Jamie Keane Programmer SolutionMasters, Inc. 9111 Monroe Rd., Suite 100 Charlotte, NC 28270 www.solutionmasters.com 704.563.5559 x 228 Voice 704.849.9291 Fax -Original Message- From: Peter Theobald [EMAIL PROTECTED] To: [EMAIL PROTECTED] [EMAIL PROTECTED]; [EMAIL PROTECTED] [EMAIL PROTECTED] Date: Monday, August 28, 2000 5:53 PM Subject: Re: What I want in CF (was: Learning ASP) Cold Fusion is weak in these areas, but really you can do all these things (or "emulate" them :-) ) using existing features. (forgive my syntax - I'm writing this quickly) Pick a standard variable name, like ReturnValue and only use it for returning a value from a custom tag: caller.ReturnValue = xxx Or use the tag's name as a structure: If NOT IsDefine("MyTagName") { MyTagName = StructNew() } MyTagName.Return = "some data" Static variables: How static do you want them? :-) Cold Fusion has extra "scopes" that wouldn't make sense in a standard programming language like C++ where the application all runs at once. In Cold Fusion you might want static variables that retain their value (1) for the entire Application, (2) for the page request (there are more you could define if you tried hard). Pick a standard word, for example "static" and keep them under Application and Request. Use a hash of the module name: In Application.cfm: If NOT IsDefined('Request.Static') Request.Static = StructNew() In module: MyTagName: Request.Static["MyTagName"] = StructNew() Request.MyTagName.ThisStaticVar = "some data"; This is now a static variable that will retain it's value for the duration of this page request through all files and multiple calls to this tag. It is only "private" within the tag because you make it so with the naming convention. The same thing can be done under the Application scope (scopes are structures). Now the *REAL* problem with Cold Fusion is there is no ability to define a macro, function, or subroutine to "hide" these details so these kinds of things are very wordy which encourages mistakes when you have to specify them a hundred times. At 02:49 PM 8/28/00 -0400, Jamie Keane wrote: My biggest complaint with the language is the lack of user-defined functions. I know that custom tags are sorta a work-around, but sometimes a function just needs to return a value, not just assign a value back to the calling template. Also, there's no way (that I know of at least) to pass values by reference, or declare static variables within the scope of a custom tag. While PHP doesn't have the simplicity that CF has in terms of database twiddling, and its error handling leaves a bit to be desired, it does have support for user-defined functions that may contain variable references and static variables, and that helps me out a lot. -- Jamie Keane Programmer SolutionMasters, Inc. 9111 Monroe Rd., Suite 100 Charlotte, NC 28270 www.solutionmasters.com 704.563.5559 x 228 Voice 704.849.9291 Fax -Original Message- From: Gregory Harris [EMAIL PROTECTED] To: [EMAIL PROTECTED] [EMAIL PROTECTED] Date: Monday, August 28, 2000 2:30 PM Subject: Re: What I want in CF (was: Learning ASP) Ok, my wish list now: 1) How about a way to determine whether a dimension exists in an array, for instance this works: ArrayLen(ThisArray) But if ThisArray were a 2 dimensional array and I needed to figure out the length of something in dimension 2, using this ArrayLen(ThisArray[DimensionOne]) breaks the page Rather than having to go thru the excess overhead of trying to use a counter, maybe extending Arraylen could help this? Or how about a ArrayDimensionExists() function? 2) Extending CFHTTP (I think this is a BIG one) 3) Making Structures Multi-Dimensional, or is it possible to do structures like: Stuff.Things.MoreThings = ThisVariable This has never worked with me, the best I could do would be Stuff.Things I'm sure there are more headaches I've run into, but these are right off the top of my head. What else can everyone think of? Gregory Harris Los Angeles Information Technology Agency (ITA) [EMAIL PROTECTED] [EMAIL PROTECTED] 08/28 11:11 AM Dave Watts [mailto:[EMAIL PROTECTED]] I agree that the interfaces for SMTP, POP, HTTP, etc. need a lot of work. As for other stuff, I'm kind of curious. What basic functionality would you like to see? I can't really think of all that much that I'd like to see added. Personally, I've got a laundry list. :) However, off the top of my head, in no particular order (I mentioned most of these at The Con last year, and will do so a
RE: What I want in CF (was: Learning ASP)
blik. don't do that. that's one of the beauties of CF by comparison to more stringent languages. I do agree with everything else you've said. At 03:01 PM 8/29/2000 -0400, Zachary Bedell wrote: Basically, I'm looking for something that would allow you to force declaration of variables, types, maximum lengths, etc. Then you can specify (perhaps in specifically formatted comments) the requirements for a variable have the "compiler" make sure they're in range. This would completely eliminate any parameter not defined or syntax type errors on your server (a good thing for the server) and would make it possible to create a proper CFDoc system a la JavaDoc. (I know that's a quick description, but if anyone is interested I could elaborate...) !j! The mark of mediocrity is searching for the precedent. !jeff! sherwood Director of BIGWORDS.com Web Site Design / JEDI BIGWORDS.com worker#2 [EMAIL PROTECTED] [EMAIL PROTECTED] .r.e.c.o.v.e.r.e.d.n.e.t.s.c.a.p.e.u.s.e.r. . . . 415.543.1400.x300 -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
Re: What I want in CF (was: Learning ASP)
God that's kludgy, but if it works it works, eh? Still, I wish Allaire would put a more "standardised" and documented syntax, so I wouldn't have to scratch my head as much. :) -- Jamie Keane Programmer SolutionMasters, Inc. 9111 Monroe Rd., Suite 100 Charlotte, NC 28270 www.solutionmasters.com 704.563.5559 x 228 Voice 704.849.9291 Fax -Original Message- From: Peter Theobald [EMAIL PROTECTED] To: [EMAIL PROTECTED] [EMAIL PROTECTED]; [EMAIL PROTECTED] [EMAIL PROTECTED] Date: Monday, August 28, 2000 5:53 PM Subject: Re: What I want in CF (was: Learning ASP) Cold Fusion is weak in these areas, but really you can do all these things (or "emulate" them :-) ) using existing features. (forgive my syntax - I'm writing this quickly) Pick a standard variable name, like ReturnValue and only use it for returning a value from a custom tag: caller.ReturnValue = xxx Or use the tag's name as a structure: If NOT IsDefine("MyTagName") { MyTagName = StructNew() } MyTagName.Return = "some data" Static variables: How static do you want them? :-) Cold Fusion has extra "scopes" that wouldn't make sense in a standard programming language like C++ where the application all runs at once. In Cold Fusion you might want static variables that retain their value (1) for the entire Application, (2) for the page request (there are more you could define if you tried hard). Pick a standard word, for example "static" and keep them under Application and Request. Use a hash of the module name: In Application.cfm: If NOT IsDefined('Request.Static') Request.Static = StructNew() In module: MyTagName: Request.Static["MyTagName"] = StructNew() Request.MyTagName.ThisStaticVar = "some data"; This is now a static variable that will retain it's value for the duration of this page request through all files and multiple calls to this tag. It is only "private" within the tag because you make it so with the naming convention. The same thing can be done under the Application scope (scopes are structures). Now the *REAL* problem with Cold Fusion is there is no ability to define a macro, function, or subroutine to "hide" these details so these kinds of things are very wordy which encourages mistakes when you have to specify them a hundred times. At 02:49 PM 8/28/00 -0400, Jamie Keane wrote: My biggest complaint with the language is the lack of user-defined functions. I know that custom tags are sorta a work-around, but sometimes a function just needs to return a value, not just assign a value back to the calling template. Also, there's no way (that I know of at least) to pass values by reference, or declare static variables within the scope of a custom tag. While PHP doesn't have the simplicity that CF has in terms of database twiddling, and its error handling leaves a bit to be desired, it does have support for user-defined functions that may contain variable references and static variables, and that helps me out a lot. -- Jamie Keane Programmer SolutionMasters, Inc. 9111 Monroe Rd., Suite 100 Charlotte, NC 28270 www.solutionmasters.com 704.563.5559 x 228 Voice 704.849.9291 Fax -Original Message- From: Gregory Harris [EMAIL PROTECTED] To: [EMAIL PROTECTED] [EMAIL PROTECTED] Date: Monday, August 28, 2000 2:30 PM Subject: Re: What I want in CF (was: Learning ASP) Ok, my wish list now: 1) How about a way to determine whether a dimension exists in an array, for instance this works: ArrayLen(ThisArray) But if ThisArray were a 2 dimensional array and I needed to figure out the length of something in dimension 2, using this ArrayLen(ThisArray[DimensionOne]) breaks the page Rather than having to go thru the excess overhead of trying to use a counter, maybe extending Arraylen could help this? Or how about a ArrayDimensionExists() function? 2) Extending CFHTTP (I think this is a BIG one) 3) Making Structures Multi-Dimensional, or is it possible to do structures like: Stuff.Things.MoreThings = ThisVariable This has never worked with me, the best I could do would be Stuff.Things I'm sure there are more headaches I've run into, but these are right off the top of my head. What else can everyone think of? Gregory Harris Los Angeles Information Technology Agency (ITA) [EMAIL PROTECTED] [EMAIL PROTECTED] 08/28 11:11 AM Dave Watts [mailto:[EMAIL PROTECTED]] I agree that the interfaces for SMTP, POP, HTTP, etc. need a lot of work. As for other stuff, I'm kind of curious. What basic functionality would you like to see? I can't really think of all that much that I'd like to see added. Personally, I've got a laundry list. :) However, off the top of my head, in no particular order (I mentioned most of these at The Con last year, and will do so again if I go this year): 1. Extend the CFX API to make it more useful. There a
RE: What I want in CF (was: Learning ASP)
Cold Fusion is weak in these areas, but really you can do all these things (or "emulate" them :-) ) using existing features. (forgive my syntax - I'm writing this quickly) Pick a standard variable name, like ReturnValue and only use it for returning a value from a custom tag: caller.ReturnValue = xxx Or use the tag's name as a structure: If NOT IsDefine("MyTagName") { MyTagName = StructNew() } MyTagName.Return = "some data" If I might suggest a better alternative, you can make the user of the custom tag responsible for naming the return variable (which is the norm in most languages) by creating an attribute of the custom tag for that name, and using the SetVariable function within the custom tag to create that variable dynamically: !--- custom tag call --- cf_foo return="foovar" cfoutput#foovar#/cfoutput ... !--- custom tag contents --- cfparam name="Attributes.Return" default="Return" cfset myvalue = "42" cfset rs = SetVariable("Caller." Attributes.Return, myvalue) Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ voice: (202) 797-5496 fax: (202) 797-5444 -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: What I want in CF (was: Learning ASP)
Well I can think of one REALLY good reason why ASP users might deal without nifty things like built in HTTP, etc. where CF users might insist on said functionality: Cost of ASP: $0.00 Cost of ColdFusion: $1199.95 (From Necx.com) If you compare the labor costs for training and development for entry-level and mid-level CF developers vs ASP developers, that $1199, or the $3000+ that you'd pay for CF Enterprise Edition, will pay for itself in less than a week, I suspect. I'd like to see some actual statistics backing up that claim. I hear people use this argument all the time. "CF ultimately costs less because it's so much easier to learn and faster to develop applications with." Well, this is definitely not true all of the time, and given that there are so many people out there who know VB (I think VB is still the most widely used programming language in the U.S.), it's not that difficult to find an ASP programmer, or to train someone who already knows VB. Unfortunately, of course, I don't have any "actual statistics". I'm sure that's no surprise to you. What I do have is anecdotal experience, which you might argue is useless. Nevertheless, I'm going to let fly with it. 1. The problem with developing web applications isn't really learning a new language, but learning a new programming model. Traditional VB programming and ASP programming using VBScript share a language, but not much else. It can be difficult for even experienced programmers to learn and understand the HTTP application model, where state management is a concern, where you don't really have an "application" in the traditional sense, but rather you have a bunch of individual scripts which are used in a coordinated fashion. I've taught CF to hundreds of students, and often the ones who have the most difficulty are the experienced programmers, as they have to forget about how things work in the environment to which they're accustomed. 2. The demand for web development has inclined a lot of people without prior development experience to get involved. These people have to learn a lot of things at once - whether you use CF or ASP, you're going to have to learn how relational databases work, how SQL works, how the HTTP request-response model works, etcetera. If you can make any portion of that easier, it will mean less overall learning is needed to get productive quickly. 3. All other things being equal ("ceteris parabis", as one of my teachers was inclined to say), CFML is easier to learn than ASP, and has a lower learning curve. It doesn't have to be much lower to cover the cost of the product. If it's ten percent easier, let's say, and it takes a developer ten percent less time to complete a project, and said developer is working a forty-hour week, and you've got twenty developers working on a project who are paid $100/hr, then over the course of a week your labor costs would be $8000 (assuming I've done the math correctly - a shaky assumption indeed!). Now, admittedly, as your ASP developers got more experience, their labor costs would start to drop and approach those of the CF developers. As you mentioned, you've got good developers and bad developers, but I'm assuming that a good developer can do more with something that's easier to use than with something that's harder to use. I'd argue that the data access model alone might make that ten percent difference. 4. Most of the complexities of CF development aren't really CF issues; learning how to do more in SQL and JavaScript are two examples. To me, the beauty of CF is that it's so simple that I can focus on other things outside the world of CF. Now, I know CF and ASP. I personally write a decent amount of ASP code, and have worked with ASP on and off since its release. Nevertheless, I feel much more comfortable with CF; I find myself having to look up specific objects, methods and properties in ASP quite a bit. There are some things I prefer about ASP, but I find myself fighting the language a lot less with CF. Now, that said, I do like CF better, but it's not because the syntax is so much easier or that the performance is so much better. It's because there is so much built in functionality, and that functionality is very easy to use. What makes that functionality easy to use? I am a huge supporter of CF, and I will continue to advocate the use of CF over ASP for the time being, but when CF 5.0 releases, it better have a lot of fixes in it, or I'll have to re-evaluate what language is my language of choice for web development. I'd second this wholeheartedly, and argue that this should always be everyone's position. If a better tool comes along tomorrow, you'd be a fool not to use it because of some misplaced product loyalty. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ voice: (202) 797-5496 fax: (202) 797-5444 -- Archives:
RE: What I want in CF (was: Learning ASP)
Dave, I think the reverse can also be true, the difference between "web pages" and "applications" can be quite considerable, a programmer coming from a more traditional client/server background may have a more thorough grounding in exceptions, error handling, transactions, locking, SQL etc. than a "web developer"... Stew 1. The problem with developing web applications isn't really learning a new language, but learning a new programming model. Traditional VB programming and ASP programming using VBScript share a language, but not much else. It can be difficult for even experienced programmers to learn and understand the HTTP application model, -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: What I want in CF (was: Learning ASP)
1. The problem with developing web applications isn't really learning a new language, but learning a new programming model. Traditional VB programming and ASP programming using VBScript share a language, but not much else. It can be difficult for even experienced programmers to learn and understand the HTTP application model ... I think the reverse can also be true, the difference between "web pages" and "applications" can be quite considerable, a programmer coming from a more traditional client/server background may have a more thorough grounding in exceptions, error handling, transactions, locking, SQL etc. than a "web developer"... I'd agree that prior knowledge about all of those things is a very good thing. It's not the only thing, though. To be a good web developer, you have to know about programming in general, and you have to know about the HTTP application programming model in particular. Many beginning web developers don't know too much about programming in general, so they have to learn that stuff, but they may have a better understanding of the model of HTTP applications, and the strictures of that model. In either case, the prior statement came from a "CF vs ASP" discussion, and the purpose of the statement was to point out that learning the programming language wasn't the biggest problem in learning web development, but rather that learning the model was the big problem. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ voice: (202) 797-5496 fax: (202) 797-5444 -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: RE: What I want in CF (was: Learning ASP)
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 AH. Almost forgot. The ability to form post to a cf page and have cf determine the size of the file BEFORE the upload. ie, an optional byte cutoff limit for file upload. (I would wholeheartedly second this, gawd the nightmares I've had w/ppl posting 20MB files to my personal CF Intranet, almost filling my Disk Quota with my host...) I'd like to extend on this one a little myself... How about a way to configure whether the uploaded file is stored in memory while it's being uploaded (as it is now), or in a temp disk file (as is the case w/ PHP most other normal languages...). With CF as it it, someone uploading a 20MB file to you not only blows your disk quota, but it also blows your host's server RAM as that entire 20MB monster is sitting in memory. It wouldn't surprise me if DoS attacks are possible using that little "feature"... Best regards, Zac Bedell -BEGIN PGP SIGNATURE- Version: PGPfreeware 6.5.3 for non-commercial use http://www.pgp.com Comment: Please use PGP!!! iQA/AwUBOawCqgraVoMWBwRBEQKHmgCfc+7NZcj4siKyj6Oljd/o2EmXXVgAoOM5 W6r7fs6dWdCDq4HgzcMHpnAA =F7ek -END PGP SIGNATURE- -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: What I want in CF (was: Learning ASP)
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Oh! Forgot a few more pet peeves. I'm sure I'll think of more as this thread progresses. Sorry for so many posts from one guy... * An option to choose buffered page output (like CF does now) or unbuffered (like ASP does). That way you can choose to output a long running page as you generate it instead of waiting for the entire thing to load before the user sees anything. (PHP has this) * Session_OnStart, Session_OnEnd, Application_OnStart, and Application_OnEnd type functions. That way you could execute blocks of code not only at the start end of each page request, but also specify blocks to run at the more abstract events of the application or session starting or ending. (ASP does this) * It's been said before, but I don't think it can be said enough: USER DEFINED FUNCTIONS!!! It is *such* a pain in the rump to be stuck w/ a custom tag kludge when a *really* nice elegant solution could be done w/ a value returning function. Not to mention functional recursion would *have* to be faster than CF tag recursion... * A feature I'd like for CFStudio: Some sort of variable declaration requirement and syntax / sanity checking for templates BEFORE they're executed on the server. Basically, I'm looking for something that would allow you to force declaration of variables, types, maximum lengths, etc. Then you can specify (perhaps in specifically formatted comments) the requirements for a variable have the "compiler" make sure they're in range. This would completely eliminate any parameter not defined or syntax type errors on your server (a good thing for the server) and would make it possible to create a proper CFDoc system a la JavaDoc. (I know that's a quick description, but if anyone is interested I could elaborate...) * I'll also second (or third) the request for truly compiled templates. I'm sure I'll think of more... I don't suppose there's any Allaire programmers reading this list taking notes, are there? ;-) Best regards, Zac Bedell -BEGIN PGP SIGNATURE- Version: PGPfreeware 6.5.3 for non-commercial use http://www.pgp.com Comment: Please use PGP!!! iQA/AwUBOawIiQraVoMWBwRBEQLZlgCcDjuKZOMc4GjXxrVY58ifk9ZaukIAmQHZ wQmtCCKUcYd3Xi+Sz9hLnJi9 =94CE -END PGP SIGNATURE- -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: What I want in CF (was: Learning ASP)
How about ... Robust R/X support. I want support for meta-characters, octal escapes, hex escapes, and class shorthands, ("\d" instead of "[::digital::]") Encryption. Not those cheesy Encrypt/Decrypt functions, or just Hash(). I'd like to see 3DES, PGP, and a couple more hash/checksum options. SNMP support. The ability to work with SNMP enabled network devices. XML parser. Enough to check well-formedness with the option to validate against a DTD. It doesn't have to "execute" the XML. Steve -Original Message- From: Zachary Bedell [mailto:[EMAIL PROTECTED]] Sent: Tuesday, August 29, 2000 3:01 PM To: '[EMAIL PROTECTED]' Subject: RE: What I want in CF (was: Learning ASP) -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Oh! Forgot a few more pet peeves. I'm sure I'll think of more as this thread progresses. Sorry for so many posts from one guy... * An option to choose buffered page output (like CF does now) or unbuffered (like ASP does). That way you can choose to output a long running page as you generate it instead of waiting for the entire thing to load before the user sees anything. (PHP has this) * Session_OnStart, Session_OnEnd, Application_OnStart, and Application_OnEnd type functions. That way you could execute blocks of code not only at the start end of each page request, but also specify blocks to run at the more abstract events of the application or session starting or ending. (ASP does this) * It's been said before, but I don't think it can be said enough: USER DEFINED FUNCTIONS!!! It is *such* a pain in the rump to be stuck w/ a custom tag kludge when a *really* nice elegant solution could be done w/ a value returning function. Not to mention functional recursion would *have* to be faster than CF tag recursion... * A feature I'd like for CFStudio: Some sort of variable declaration requirement and syntax / sanity checking for templates BEFORE they're executed on the server. Basically, I'm looking for something that would allow you to force declaration of variables, types, maximum lengths, etc. Then you can specify (perhaps in specifically formatted comments) the requirements for a variable have the "compiler" make sure they're in range. This would completely eliminate any parameter not defined or syntax type errors on your server (a good thing for the server) and would make it possible to create a proper CFDoc system a la JavaDoc. (I know that's a quick description, but if anyone is interested I could elaborate...) * I'll also second (or third) the request for truly compiled templates. I'm sure I'll think of more... I don't suppose there's any Allaire programmers reading this list taking notes, are there? ;-) Best regards, Zac Bedell -BEGIN PGP SIGNATURE- Version: PGPfreeware 6.5.3 for non-commercial use http://www.pgp.com Comment: Please use PGP!!! iQA/AwUBOawIiQraVoMWBwRBEQLZlgCcDjuKZOMc4GjXxrVY58ifk9ZaukIAmQHZ wQmtCCKUcYd3Xi+Sz9hLnJi9 =94CE -END PGP SIGNATURE- -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: What I want in CF (was: Learning ASP)
Ah yes, but ASP is "free", with upgrades. I'm sure you've looked at some of the new features in ASP+ But, as you say, it may be that this community expects more, or rather, has different expectations. ASP is a framework for using COM/DCOM objects to get the "real" work done. Developers who work with VB and ASP a lot are used to accumulating a toolbox of objects that do what the developer needs or reusing ones that come with the OS/Apps/etc. CF originally came with a couple of these "objects" pre-installed. The community that grew around CF did so with a prior history of inclusion. Also, CF didn't have external object support until v.3.x. and that wasn't/isn't top notch. I am just starting to see wide-spread use of native OS/App objects with CF. I think that this is partly due to people's lack of knowledge and awareness of what's there and also because many of these objects are limited by operational req's (install Word on the server), and the limitations of CFOBJECT (no complex data types). WARNING: Exaggerated use of CFHTTP as an example follows - Debugging CFOBJECT and/or dealing with it's limitations shouldn't be a developer's first step in finding a CFHTTP replacement. Because of CFOBJECT's limitations this might be an issue. Also, CF developer shouldn't have to learn C++/Delphi and the CFX API, as easy as it is, just to get reliable HTTP support. This goes against your argument from earlier today in which you argued that one of CF's advantages over ASP is not having to deal with ASP's HTTP functionality. If I were to write a CFX tag or COM object to fix this particular problem I'd need to know a heck of a lot more about HTTP than ASP requires. In other words, if CF is gonna shield you from low level code/constructs it should do so reliably. If Allaire says they're shipping a product with x, y, and z functionality then I shouldn't feel the need to find a plugin replacement for 'y' because theirs doesn't do it right. If your example ASP developer bought a third-party COM object to get HTTP support and that object didn't work right would you expect him to keep using it without bitching all the time? :) I should end by saying that I feel this applies only to what I see as core functionalities like HTTP, database access, RegEx, etc. and those emerging technologies which will inherently benefit the advancement of information systems and/or the global electronic economy. Overly simple examples of these two are XML (WDDX) and SSL (HTTPS), respectively. An authtication module for RADIUS, though, would fall under the realm of third-party purchase or internal CFX/COM development. Steve -Original Message- From: Dave Watts [mailto:[EMAIL PROTECTED]] Sent: Monday, August 28, 2000 3:13 PM To: '[EMAIL PROTECTED]' Cc: '[EMAIL PROTECTED]' Subject: RE: What I want in CF (was: Learning ASP) 7. Fix CFHTTP! I agree that it's not as good as it could (or should) be. I'd generally recommend a third-party product for serious HTTP client needs. This brings up an interesting point. As CF developers, we're used to getting lots of functionality in the base CF product, without having to rely on third-party addins. Is this what we should expect? For example, I'd much rather have the CF developers fix other problems within CF, such as memory management and stability issues, or the COM interface, than fixing CFHTTP, CFMAIL, and the rest, because those I can replace on my own. I can't do a whole lot about how CF manages memory, though. Maybe our expectations are a bit high, after all. I suspect you wouldn't hear ASP developers complaining about the lack of HTTP client functionality built into ASP; they expect to have to use third-party products to fill functionality gaps. Why should CF developers be different in that regard? -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
Re: What I want in CF (was: Learning ASP)
Ok, my wish list now: 1) How about a way to determine whether a dimension exists in an array, for instance this works: ArrayLen(ThisArray) But if ThisArray were a 2 dimensional array and I needed to figure out the length of something in dimension 2, using this ArrayLen(ThisArray[DimensionOne]) breaks the page Rather than having to go thru the excess overhead of trying to use a counter, maybe extending Arraylen could help this? Or how about a ArrayDimensionExists() function? 2) Extending CFHTTP (I think this is a BIG one) 3) Making Structures Multi-Dimensional, or is it possible to do structures like: Stuff.Things.MoreThings = ThisVariable This has never worked with me, the best I could do would be Stuff.Things I'm sure there are more headaches I've run into, but these are right off the top of my head. What else can everyone think of? Gregory Harris Los Angeles Information Technology Agency (ITA) [EMAIL PROTECTED] [EMAIL PROTECTED] 08/28 11:11 AM Dave Watts [mailto:[EMAIL PROTECTED]] I agree that the interfaces for SMTP, POP, HTTP, etc. need a lot of work. As for other stuff, I'm kind of curious. What basic functionality would you like to see? I can't really think of all that much that I'd like to see added. Personally, I've got a laundry list. :) However, off the top of my head, in no particular order (I mentioned most of these at The Con last year, and will do so again if I go this year): 1. Extend the CFX API to make it more useful. There are some things (like working with arrays, as Jeremy mentioned) that don't work or are hellishly hard to workaround. Some of us (very few, I know) *like* to work in C++ and *like* to optimize our stuff by putting it in machine code. 2. Fix the encryption. It's really *really* broken. 3. (or, in deference to or addition to #2) Support for "compiling" templates. We know that they already do this in memory (something akin to a p-code or bytecode type thing), but what I'd like to see is the ability to take that compiled chunk of memory and save it to a file. Python has this, as does Perl (in a limited sense). This would do two things for me: (a) It would mean that even though people could still "decompile" it, they'd still have to figure out var names, etc. (b) It would save the overhead of parsing the file every time. 4. Better regular expression engine. (Especially non-greedy matching.) 5. Better locking system. (This is a whine.) It's all fine and good to put the burden of the locking on the programmer (who has to go absolutely crazy on the CFLOCKs in a production system), but I'd really like to see something a bit better. I dunno how, but I know they have some pretty smart people who can surprise us. 6. Binary data support for variables. (Unicode?) Right now I can't (reliably) mess around with binary files. :( 7. Fix CFHTTP! Please! In the current implementation so much is broken it's not even funny! a. Not thread-safe (gah!) b. Can't use CFHTTPPARAM (and therefore cookies) without the POST method. (lame) c. Can't select encoding type (multipart/form-data doesn't work everywhere) - at least make it smart enough so that if no files are attached it doesn't use multipart! (exceedingly lame) d. The hack for port is *stupid*. If I want to access an arbitrary URL that could be on any port, I have to manually parse out the port number from the URL and put it in the PORT attribute and at the same time take it out of the URL string (it barfs otherwise!). (mired in a sweaty mass of lameness) 8. Fix PreserveSingleQuotes() - Right now it doesn't act like a real function. I can't do other things in it. That is, PreserveSingleQuotes(ListChangeDelims(list,"','")) is broken. (This is my most common use for it.) 9. Fix the standard structures (Form, Client, etc) to actually work like structures, so that I can enumerate them, delete from them, etc. Having to GetClientVariables() or get Form.FieldNames is just annoying (and doesn't let my code be nice and transparent.) Did they fix thix in 4.5? I think they are getting closer, but I think it is still broken? Hmmm ... I'm trying to think of all the things I constantly have to hack arround ... . Passing arrays (even scalars) by reference instead of value. . Accessing structure members in the order they were added, instead of having to hack around it with a parallel list/array. (However, I know how hashes work, so this probably wouldn't be worth it.) . ListSort(list[,type[,order]]) - Hacked around with arrays . ListEliminateDuplicates(list) - Hacked around with structures (and arrays if you need to preserve order) . ListSlice(list,start,length) ArraySlice(array,start,length) - or, better yet, ListSlice(list,start,length,newlist), so that I can dynamically replace the middle of a list (newlist doesn't have to be as long as length, tho) . QuerySetRow(query,"valuelist"[,row]) or QuerySetRow(query,array[,row]) (preferred) . QueryDeleteRow(query,row) .
Re: What I want in CF (was: Learning ASP)
My biggest complaint with the language is the lack of user-defined functions. I know that custom tags are sorta a work-around, but sometimes a function just needs to return a value, not just assign a value back to the calling template. Also, there's no way (that I know of at least) to pass values by reference, or declare static variables within the scope of a custom tag. While PHP doesn't have the simplicity that CF has in terms of database twiddling, and its error handling leaves a bit to be desired, it does have support for user-defined functions that may contain variable references and static variables, and that helps me out a lot. -- Jamie Keane Programmer SolutionMasters, Inc. 9111 Monroe Rd., Suite 100 Charlotte, NC 28270 www.solutionmasters.com 704.563.5559 x 228 Voice 704.849.9291 Fax -Original Message- From: Gregory Harris [EMAIL PROTECTED] To: [EMAIL PROTECTED] [EMAIL PROTECTED] Date: Monday, August 28, 2000 2:30 PM Subject: Re: What I want in CF (was: Learning ASP) Ok, my wish list now: 1) How about a way to determine whether a dimension exists in an array, for instance this works: ArrayLen(ThisArray) But if ThisArray were a 2 dimensional array and I needed to figure out the length of something in dimension 2, using this ArrayLen(ThisArray[DimensionOne]) breaks the page Rather than having to go thru the excess overhead of trying to use a counter, maybe extending Arraylen could help this? Or how about a ArrayDimensionExists() function? 2) Extending CFHTTP (I think this is a BIG one) 3) Making Structures Multi-Dimensional, or is it possible to do structures like: Stuff.Things.MoreThings = ThisVariable This has never worked with me, the best I could do would be Stuff.Things I'm sure there are more headaches I've run into, but these are right off the top of my head. What else can everyone think of? Gregory Harris Los Angeles Information Technology Agency (ITA) [EMAIL PROTECTED] [EMAIL PROTECTED] 08/28 11:11 AM Dave Watts [mailto:[EMAIL PROTECTED]] I agree that the interfaces for SMTP, POP, HTTP, etc. need a lot of work. As for other stuff, I'm kind of curious. What basic functionality would you like to see? I can't really think of all that much that I'd like to see added. Personally, I've got a laundry list. :) However, off the top of my head, in no particular order (I mentioned most of these at The Con last year, and will do so again if I go this year): 1. Extend the CFX API to make it more useful. There are some things (like working with arrays, as Jeremy mentioned) that don't work or are hellishly hard to workaround. Some of us (very few, I know) *like* to work in C++ and *like* to optimize our stuff by putting it in machine code. 2. Fix the encryption. It's really *really* broken. 3. (or, in deference to or addition to #2) Support for "compiling" templates. We know that they already do this in memory (something akin to a p-code or bytecode type thing), but what I'd like to see is the ability to take that compiled chunk of memory and save it to a file. Python has this, as does Perl (in a limited sense). This would do two things for me: (a) It would mean that even though people could still "decompile" it, they'd still have to figure out var names, etc. (b) It would save the overhead of parsing the file every time. 4. Better regular expression engine. (Especially non-greedy matching.) 5. Better locking system. (This is a whine.) It's all fine and good to put the burden of the locking on the programmer (who has to go absolutely crazy on the CFLOCKs in a production system), but I'd really like to see something a bit better. I dunno how, but I know they have some pretty smart people who can surprise us. 6. Binary data support for variables. (Unicode?) Right now I can't (reliably) mess around with binary files. :( 7. Fix CFHTTP! Please! In the current implementation so much is broken it's not even funny! a. Not thread-safe (gah!) b. Can't use CFHTTPPARAM (and therefore cookies) without the POST method. (lame) c. Can't select encoding type (multipart/form-data doesn't work everywhere) - at least make it smart enough so that if no files are attached it doesn't use multipart! (exceedingly lame) d. The hack for port is *stupid*. If I want to access an arbitrary URL that could be on any port, I have to manually parse out the port number from the URL and put it in the PORT attribute and at the same time take it out of the URL string (it barfs otherwise!). (mired in a sweaty mass of lameness) 8. Fix PreserveSingleQuotes() - Right now it doesn't act like a real function. I can't do other things in it. That is, PreserveSingleQuotes(ListChangeDelims(list,"','")) is broken. (This is my most common use for it.) 9. Fix the standard structures (Form, Client, etc) to actually work like structures, so that I can enumerate them, delete from them, etc. Having to GetClientVariables() or get Form.FieldNames is just ann
Re: What I want in CF (was: Learning ASP)
I've got structures doing all kinds of crazy things. Stuff.Things.MoreThings definitely works for me. TO make the expressions easier you may want to use temporary variables in the middle: ThingStruct = StructNew(); ThingStruct = Stuff.Things; ... do something with ThingStruct.MoreThings... At 11:22 AM 8/28/00 -0700, Gregory Harris wrote: Ok, my wish list now: 1) How about a way to determine whether a dimension exists in an array, for instance this works: ArrayLen(ThisArray) But if ThisArray were a 2 dimensional array and I needed to figure out the length of something in dimension 2, using this ArrayLen(ThisArray[DimensionOne]) breaks the page Rather than having to go thru the excess overhead of trying to use a counter, maybe extending Arraylen could help this? Or how about a ArrayDimensionExists() function? 2) Extending CFHTTP (I think this is a BIG one) 3) Making Structures Multi-Dimensional, or is it possible to do structures like: Stuff.Things.MoreThings = ThisVariable This has never worked with me, the best I could do would be Stuff.Things I'm sure there are more headaches I've run into, but these are right off the top of my head. What else can everyone think of? Gregory Harris Los Angeles Information Technology Agency (ITA) [EMAIL PROTECTED] [EMAIL PROTECTED] 08/28 11:11 AM Dave Watts [mailto:[EMAIL PROTECTED]] I agree that the interfaces for SMTP, POP, HTTP, etc. need a lot of work. As for other stuff, I'm kind of curious. What basic functionality would you like to see? I can't really think of all that much that I'd like to see added. Personally, I've got a laundry list. :) However, off the top of my head, in no particular order (I mentioned most of these at The Con last year, and will do so again if I go this year): 1. Extend the CFX API to make it more useful. There are some things (like working with arrays, as Jeremy mentioned) that don't work or are hellishly hard to workaround. Some of us (very few, I know) *like* to work in C++ and *like* to optimize our stuff by putting it in machine code. 2. Fix the encryption. It's really *really* broken. 3. (or, in deference to or addition to #2) Support for "compiling" templates. We know that they already do this in memory (something akin to a p-code or bytecode type thing), but what I'd like to see is the ability to take that compiled chunk of memory and save it to a file. Python has this, as does Perl (in a limited sense). This would do two things for me: (a) It would mean that even though people could still "decompile" it, they'd still have to figure out var names, etc. (b) It would save the overhead of parsing the file every time. 4. Better regular expression engine. (Especially non-greedy matching.) 5. Better locking system. (This is a whine.) It's all fine and good to put the burden of the locking on the programmer (who has to go absolutely crazy on the CFLOCKs in a production system), but I'd really like to see something a bit better. I dunno how, but I know they have some pretty smart people who can surprise us. 6. Binary data support for variables. (Unicode?) Right now I can't (reliably) mess around with binary files. :( 7. Fix CFHTTP! Please! In the current implementation so much is broken it's not even funny! a. Not thread-safe (gah!) b. Can't use CFHTTPPARAM (and therefore cookies) without the POST method. (lame) c. Can't select encoding type (multipart/form-data doesn't work everywhere) - at least make it smart enough so that if no files are attached it doesn't use multipart! (exceedingly lame) d. The hack for port is *stupid*. If I want to access an arbitrary URL that could be on any port, I have to manually parse out the port number from the URL and put it in the PORT attribute and at the same time take it out of the URL string (it barfs otherwise!). (mired in a sweaty mass of lameness) 8. Fix PreserveSingleQuotes() - Right now it doesn't act like a real function. I can't do other things in it. That is, PreserveSingleQuotes(ListChangeDelims(list,"','")) is broken. (This is my most common use for it.) 9. Fix the standard structures (Form, Client, etc) to actually work like structures, so that I can enumerate them, delete from them, etc. Having to GetClientVariables() or get Form.FieldNames is just annoying (and doesn't let my code be nice and transparent.) Did they fix thix in 4.5? I think they are getting closer, but I think it is still broken? Hmmm ... I'm trying to think of all the things I constantly have to hack arround ... . Passing arrays (even scalars) by reference instead of value. . Accessing structure members in the order they were added, instead of having to hack around it with a parallel list/array. (However, I know how hashes work, so this probably wouldn't be worth it.) . ListSort(list[,type[,order]]) - Hacked around with arrays . ListEliminateDuplicates(list) - Hacked around with structures (and arrays if you need to preserve order)
RE: What I want in CF (was: Learning ASP)
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 7. Fix CFHTTP! Please! In the current implementation so much is broken it's not even funny! Not that a few other folks haven't mentioned this, but. ME TOO!!! To add some more specific requests: * 4.5.1 broke templates which retrieved MIME types other than "text/html" (and a few others). CFHTTP should NOT assume that just because something isn't in its list of text types that it isn't indeed text. This issue might very well be fixed as part of implementing binary stuff support, but it DOES need to be fixed. At the very least, let me configure what MIME types are text myself! * I'd like to have full control of both the headers SENT and RECEIVED in the CFHTTP request. * Some intelligent parsing of multipart/MIME encoded responses would be REALLY nice. I had to write my own CFHTTP hack as a CFX tag to access UPS's online shipping other functions, but most of that work could easily (and sensibly) be included in CFHTTP. * I definitely want to see the entirety of CF's functionality be accessible from CFSCRIPT blocks. They're SO much nicer to write for us procedural language types (at least for certain applications), and rumor has it they're faster to parse. Just my $.02... Best regards, Zac Bedell -BEGIN PGP SIGNATURE- Version: PGPfreeware 6.5.3 for non-commercial use http://www.pgp.com Comment: Please use PGP!!! iQA/AwUBOaq1QwraVoMWBwRBEQIEbQCg6BM+2iyHpW2MNixZrtxJCEFXt10AoLjk QyZNV/sinLxbPUhCl9X4TIwr =0lT/ -END PGP SIGNATURE- -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: What I want in CF (was: Learning ASP)
3. (or, in deference to or addition to #2) Support for "compiling" templates. We know that they already do this in memory (something akin to a p-code or bytecode type thing), but what I'd like to see is the ability to take that compiled chunk of memory and save it to a file. Python has this, as does Perl (in a limited sense). This would do two things for me: (a) It would mean that even though people could still "decompile" it, they'd still have to figure out var names, etc. (b) It would save the overhead of parsing the file every time. A couple of points: Moving to Java as the underlying platform should allow this; after all that's how servlets and JSP work. As far as saving the overhead of parsing, the existing memory storage scheme does that now. 5. Better locking system. I agree, as far as memory variables are concerned. I think the way the whole CFLOCK issue has unfolded is really unfortunate and unpleasant. I'd like to see that go away. 6. Binary data support for variables. (Unicode?) Right now I can't (reliably) mess around with binary files. :( Have you played with the binary functions under CF 4.5.x? You can do a little with them, although not as much as I'd like. 7. Fix CFHTTP! I agree that it's not as good as it could (or should) be. I'd generally recommend a third-party product for serious HTTP client needs. This brings up an interesting point. As CF developers, we're used to getting lots of functionality in the base CF product, without having to rely on third-party addins. Is this what we should expect? For example, I'd much rather have the CF developers fix other problems within CF, such as memory management and stability issues, or the COM interface, than fixing CFHTTP, CFMAIL, and the rest, because those I can replace on my own. I can't do a whole lot about how CF manages memory, though. Maybe our expectations are a bit high, after all. I suspect you wouldn't hear ASP developers complaining about the lack of HTTP client functionality built into ASP; they expect to have to use third-party products to fill functionality gaps. Why should CF developers be different in that regard? 9. Fix the standard structures (Form, Client, etc) to actually work like structures, so that I can enumerate them, delete from them, etc. Having to GetClientVariables() or get Form.FieldNames is just annoying (and doesn't let my code be nice and transparent.) Did they fix this in 4.5? I think they are getting closer, but I think it is still broken? For the most part, this works the way you'd want it to in 4.5.x. Most scopes are exposed as structures, so you don't have to use Form.Fieldnames, for example. Client variables are not exposed as structures - I suspect there's too much overhead in doing that. . Passing arrays (even scalars) by reference instead of value. I agree that arrays should be passed by reference. I actually thought they were passed by reference, but they're not. I don't know that I'd want scalar variables passed by reference instead of value; after all, CFML isn't object-oriented, and we can differentiate between complex data objects (arrays, structures, queries, etc) and simple variables. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ voice: (202) 797-5496 fax: (202) 797-5444 -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
Re: What I want in CF (was: Learning ASP)
1. CFIMAP (native to language, not as a custom tag) 2. ability to communicate with any TCP/IP host, and get results, and maintain an open session (like Intrafoundation's custom tag) 3. ability to call tags from within cfscript 4. some kind of UDF support.. if for no other reason to quiet the critics who say that CFML isn't a real language without it :) Of course, I get that Santa Claus/the Allaire Corporation will be nice to us once a full spec is done on Pharaoh. -- Billy Cravens [EMAIL PROTECTED] Rick Osborne wrote: Dave Watts [mailto:[EMAIL PROTECTED]] I agree that the interfaces for SMTP, POP, HTTP, etc. need a lot of work. As for other stuff, I'm kind of curious. What basic functionality would you like to see? I can't really think of all that much that I'd like to see added. Personally, I've got a laundry list. :) However, off the top of my head, in no particular order (I mentioned most of these at The Con last year, and will do so again if I go this year): 1. Extend the CFX API to make it more useful. There are some things (like working with arrays, as Jeremy mentioned) that don't work or are hellishly hard to workaround. Some of us (very few, I know) *like* to work in C++ and *like* to optimize our stuff by putting it in machine code. 2. Fix the encryption. It's really *really* broken. 3. (or, in deference to or addition to #2) Support for "compiling" templates. We know that they already do this in memory (something akin to a p-code or bytecode type thing), but what I'd like to see is the ability to take that compiled chunk of memory and save it to a file. Python has this, as does Perl (in a limited sense). This would do two things for me: (a) It would mean that even though people could still "decompile" it, they'd still have to figure out var names, etc. (b) It would save the overhead of parsing the file every time. 4. Better regular expression engine. (Especially non-greedy matching.) 5. Better locking system. (This is a whine.) It's all fine and good to put the burden of the locking on the programmer (who has to go absolutely crazy on the CFLOCKs in a production system), but I'd really like to see something a bit better. I dunno how, but I know they have some pretty smart people who can surprise us. 6. Binary data support for variables. (Unicode?) Right now I can't (reliably) mess around with binary files. :( 7. Fix CFHTTP! Please! In the current implementation so much is broken it's not even funny! a. Not thread-safe (gah!) b. Can't use CFHTTPPARAM (and therefore cookies) without the POST method. (lame) c. Can't select encoding type (multipart/form-data doesn't work everywhere) - at least make it smart enough so that if no files are attached it doesn't use multipart! (exceedingly lame) d. The hack for port is *stupid*. If I want to access an arbitrary URL that could be on any port, I have to manually parse out the port number from the URL and put it in the PORT attribute and at the same time take it out of the URL string (it barfs otherwise!). (mired in a sweaty mass of lameness) 8. Fix PreserveSingleQuotes() - Right now it doesn't act like a real function. I can't do other things in it. That is, PreserveSingleQuotes(ListChangeDelims(list,"','")) is broken. (This is my most common use for it.) 9. Fix the standard structures (Form, Client, etc) to actually work like structures, so that I can enumerate them, delete from them, etc. Having to GetClientVariables() or get Form.FieldNames is just annoying (and doesn't let my code be nice and transparent.) Did they fix thix in 4.5? I think they are getting closer, but I think it is still broken? Hmmm ... I'm trying to think of all the things I constantly have to hack arround ... . Passing arrays (even scalars) by reference instead of value. . Accessing structure members in the order they were added, instead of having to hack around it with a parallel list/array. (However, I know how hashes work, so this probably wouldn't be worth it.) . ListSort(list[,type[,order]]) - Hacked around with arrays . ListEliminateDuplicates(list) - Hacked around with structures (and arrays if you need to preserve order) . ListSlice(list,start,length) ArraySlice(array,start,length) - or, better yet, ListSlice(list,start,length,newlist), so that I can dynamically replace the middle of a list (newlist doesn't have to be as long as length, tho) . QuerySetRow(query,"valuelist"[,row]) or QuerySetRow(query,array[,row]) (preferred) . QueryDeleteRow(query,row) . QuerySort(query,column[,type[,order]]) . StructMerge(struct1,struct2) - Iterates over struct2 assigning its keys to struct1 (overwriting if necessary) I think that's it for now ... like I said, that's just off the top of my head. Anyone else? -Rick -- Archives:
RE: What I want in CF (was: Learning ASP)
This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. --_=_NextPart_001_01C0112A.D27A4160 Content-Type: text/plain; charset="iso-8859-1" I had to write my own CFHTTP because I wanted to do a post and CF wouldn't let me set the content-type. I was trying to post XML and if the content type wasn't text/xml the site wouldn't post back the return xml set. I would imagine this would become a more common problem with people starting to use xml. I wrote a java class which I call from cold fusion to accomplish this. Rich -Original Message- From: Zachary Bedell [mailto:[EMAIL PROTECTED]] Sent: Monday, August 28, 2000 2:54 PM To: '[EMAIL PROTECTED]' Subject: RE: What I want in CF (was: Learning ASP) -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 7. Fix CFHTTP! Please! In the current implementation so much is broken it's not even funny! Not that a few other folks haven't mentioned this, but. ME TOO!!! To add some more specific requests: * 4.5.1 broke templates which retrieved MIME types other than "text/html" (and a few others). CFHTTP should NOT assume that just because something isn't in its list of text types that it isn't indeed text. This issue might very well be fixed as part of implementing binary stuff support, but it DOES need to be fixed. At the very least, let me configure what MIME types are text myself! * I'd like to have full control of both the headers SENT and RECEIVED in the CFHTTP request. * Some intelligent parsing of multipart/MIME encoded responses would be REALLY nice. I had to write my own CFHTTP hack as a CFX tag to access UPS's online shipping other functions, but most of that work could easily (and sensibly) be included in CFHTTP. * I definitely want to see the entirety of CF's functionality be accessible from CFSCRIPT blocks. They're SO much nicer to write for us procedural language types (at least for certain applications), and rumor has it they're faster to parse. Just my $.02... Best regards, Zac Bedell -BEGIN PGP SIGNATURE- Version: PGPfreeware 6.5.3 for non-commercial use http://www.pgp.com Comment: Please use PGP!!! iQA/AwUBOaq1QwraVoMWBwRBEQIEbQCg6BM+2iyHpW2MNixZrtxJCEFXt10AoLjk QyZNV/sinLxbPUhCl9X4TIwr =0lT/ -END PGP SIGNATURE- -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. --_=_NextPart_001_01C0112A.D27A4160 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN" HTML HEAD META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; = charset=3Diso-8859-1" META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version = 5.5.2448.0" TITLERE: What I want in CF (was: Learning ASP)/TITLE /HEAD BODY PFONT SIZE=3D2I had to write my own CFHTTP because I wanted to do a = post and CF wouldn't let me set the content-type.nbsp; I was trying to = post XML and if the content type wasn't text/xml the site wouldn't post = back the return xml set.nbsp; I would imagine this would become a more = common problem with people starting to use xml.nbsp; I wrote a java = class which I call from cold fusion to accomplish this./FONT/P PFONT SIZE=3D2Rich/FONT /P PFONT SIZE=3D2-Original Message-/FONT BRFONT SIZE=3D2From: Zachary Bedell [A = HREF=3D"mailto:[EMAIL PROTECTED]"mailto:[EMAIL PROTECTED]/A]= /FONT BRFONT SIZE=3D2Sent: Monday, August 28, 2000 2:54 PM/FONT BRFONT SIZE=3D2To: '[EMAIL PROTECTED]'/FONT BRFONT SIZE=3D2Subject: RE: What I want in CF (was: Learning = ASP)/FONT /P BR PFONT SIZE=3D2-BEGIN PGP SIGNED MESSAGE-/FONT BRFONT SIZE=3D2Hash: SHA1/FONT /P PFONT SIZE=3D2gt; 7. Fix CFHTTP!nbsp; Please!nbsp; In the = current implementation so /FONT BRFONT SIZE=3D2gt; much is broken it's not even funny!/FONT /P PFONT SIZE=3D2Not that a few other folks haven't mentioned this, = but./FONT /P PFONT SIZE=3D2ME TOO!!!/FONT /P PFONT SIZE=3D2To add some more specific requests:nbsp; /FONT /P PFONT SIZE=3D2* 4.5.1 broke templates which retrieved MIME types = other than/FONT BRFONT SIZE=3D2quot;text/htmlquot; (and a few others).nbsp; = CFHTTP should NOT assume that just/FONT BRFONT SIZE=3D2because something isn't in its list of text types = that it isn't/FONT BRFONT SIZE=3D2indeed text.nbsp; This issue might very well be = fixed as part of/FONT BRFONT SIZE=3D2implementing binary stuff support, but it DOES need = to be fixed.nbsp; At/FONT BRFONT SIZE=3D2the very least, let me configure what MIME types are = text myself!/FONT /P PFONT SIZE=3D2* I'd like to have full control of both the headers =
RE: What I want in CF (was: Learning ASP)
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 This brings up an interesting point. As CF developers, we're used to getting lots of functionality in the base CF product, without having to rely on third-party addins. Is this what we should expect? For example, I'd much rather have the CF developers fix other problems within CF, such as memory management and stability issues, or the COM interface, than fixing CFHTTP, CFMAIL, and the rest, because those I can replace on my own. I can't do a whole lot about how CF manages memory, though. Maybe our expectations are a bit high, after all. I suspect you wouldn't hear ASP developers complaining about the lack of HTTP client functionality built into ASP; (Yeah... You'll hear me complain about it alright. I deal, but I'll still complain, goddarnit) they expect to have to use third-party products to fill functionality gaps. Why should CF developers be different in that regard? Well I can think of one REALLY good reason why ASP users might deal without nifty things like built in HTTP, etc. where CF users might insist on said functionality: Cost of ASP: $0.00 Cost of ColdFusion: $1199.95 (From Necx.com) Granted you need a WinNT Server license for ASP, but I end up needing that for CF too, so that doesn't count... And at 854.99, a 5-user copy of Win2k Server is STILL cheaper than ColdFusion Pro. Certainly, things like memory usage, stability, etc. should be fixed be as a priority. I just think that things like CFHTTP or CFMAIL that just barely work should either be fixed or removed. There's ABSOLUTELY NO EXCUSE for releasing a $1200 product that has as many bugs and requires as many kludged work around as CF 4.5.1 does. If Allaire doesn't want to take the time to do CFHTTP, etc. right, then remove them from the product. Then they need to stop advertising that the product "includes" those things when the majority of users can't use them need to buy third party replacements anyways. Am I completely alone here? Or do others share my (slightly exasperated) options of Allaire's programming practices? Best regards, Zac -BEGIN PGP SIGNATURE- Version: PGPfreeware 6.5.3 for non-commercial use http://www.pgp.com Comment: Please use PGP!!! iQA/AwUBOarY7QraVoMWBwRBEQLM5gCdGIGAAM6nVUNEf0viBL4UegDx3BEAoIq1 mMgDnOKX9XD3FbDO2IqGoDL0 =RT1h -END PGP SIGNATURE- -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
Re: What I want in CF (was: Learning ASP)
Cold Fusion is weak in these areas, but really you can do all these things (or "emulate" them :-) ) using existing features. (forgive my syntax - I'm writing this quickly) Pick a standard variable name, like ReturnValue and only use it for returning a value from a custom tag: caller.ReturnValue = xxx Or use the tag's name as a structure: If NOT IsDefine("MyTagName") { MyTagName = StructNew() } MyTagName.Return = "some data" Static variables: How static do you want them? :-) Cold Fusion has extra "scopes" that wouldn't make sense in a standard programming language like C++ where the application all runs at once. In Cold Fusion you might want static variables that retain their value (1) for the entire Application, (2) for the page request (there are more you could define if you tried hard). Pick a standard word, for example "static" and keep them under Application and Request. Use a hash of the module name: In Application.cfm: If NOT IsDefined('Request.Static') Request.Static = StructNew() In module: MyTagName: Request.Static["MyTagName"] = StructNew() Request.MyTagName.ThisStaticVar = "some data"; This is now a static variable that will retain it's value for the duration of this page request through all files and multiple calls to this tag. It is only "private" within the tag because you make it so with the naming convention. The same thing can be done under the Application scope (scopes are structures). Now the *REAL* problem with Cold Fusion is there is no ability to define a macro, function, or subroutine to "hide" these details so these kinds of things are very wordy which encourages mistakes when you have to specify them a hundred times. At 02:49 PM 8/28/00 -0400, Jamie Keane wrote: My biggest complaint with the language is the lack of user-defined functions. I know that custom tags are sorta a work-around, but sometimes a function just needs to return a value, not just assign a value back to the calling template. Also, there's no way (that I know of at least) to pass values by reference, or declare static variables within the scope of a custom tag. While PHP doesn't have the simplicity that CF has in terms of database twiddling, and its error handling leaves a bit to be desired, it does have support for user-defined functions that may contain variable references and static variables, and that helps me out a lot. -- Jamie Keane Programmer SolutionMasters, Inc. 9111 Monroe Rd., Suite 100 Charlotte, NC 28270 www.solutionmasters.com 704.563.5559 x 228 Voice 704.849.9291 Fax -Original Message- From: Gregory Harris [EMAIL PROTECTED] To: [EMAIL PROTECTED] [EMAIL PROTECTED] Date: Monday, August 28, 2000 2:30 PM Subject: Re: What I want in CF (was: Learning ASP) Ok, my wish list now: 1) How about a way to determine whether a dimension exists in an array, for instance this works: ArrayLen(ThisArray) But if ThisArray were a 2 dimensional array and I needed to figure out the length of something in dimension 2, using this ArrayLen(ThisArray[DimensionOne]) breaks the page Rather than having to go thru the excess overhead of trying to use a counter, maybe extending Arraylen could help this? Or how about a ArrayDimensionExists() function? 2) Extending CFHTTP (I think this is a BIG one) 3) Making Structures Multi-Dimensional, or is it possible to do structures like: Stuff.Things.MoreThings = ThisVariable This has never worked with me, the best I could do would be Stuff.Things I'm sure there are more headaches I've run into, but these are right off the top of my head. What else can everyone think of? Gregory Harris Los Angeles Information Technology Agency (ITA) [EMAIL PROTECTED] [EMAIL PROTECTED] 08/28 11:11 AM Dave Watts [mailto:[EMAIL PROTECTED]] I agree that the interfaces for SMTP, POP, HTTP, etc. need a lot of work. As for other stuff, I'm kind of curious. What basic functionality would you like to see? I can't really think of all that much that I'd like to see added. Personally, I've got a laundry list. :) However, off the top of my head, in no particular order (I mentioned most of these at The Con last year, and will do so again if I go this year): 1. Extend the CFX API to make it more useful. There are some things (like working with arrays, as Jeremy mentioned) that don't work or are hellishly hard to workaround. Some of us (very few, I know) *like* to work in C++ and *like* to optimize our stuff by putting it in machine code. 2. Fix the encryption. It's really *really* broken. 3. (or, in deference to or addition to #2) Support for "compiling" templates. We know that they already do this in memory (something akin to a p-code or bytecode type thing), but what I'd like to see is the ability to take that compiled chunk of memory and save it to a file.
RE: What I want in CF (was: Learning ASP)
Well I can think of one REALLY good reason why ASP users might deal without nifty things like built in HTTP, etc. where CF users might insist on said functionality: Cost of ASP: $0.00 Cost of ColdFusion: $1199.95 (From Necx.com) If you compare the labor costs for training and development for entry-level and mid-level CF developers vs ASP developers, that $1199, or the $3000+ that you'd pay for CF Enterprise Edition, will pay for itself in less than a week, I suspect. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ voice: (202) 797-5496 fax: (202) 797-5444 -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
Re: What I want in CF (was: Learning ASP)
How about i++ operators etc in cfscript I can't tell you the number of times I have had to fix that. -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: What I want in CF (was: Learning ASP)
Increment and Decrement operators would be nice... :) How about some "real" looping capabilites consider. How about starting arrays at 0 like every other langauge for(i = 0; yadda ; Gap == 2 ? something : somethingElse) This list could go on and on and on.. but passing array values by reference and a few other little things would make a whole new world of programming capable with just a few suble changes to the way CF works. UDF's coupled with values by reference would mean a HUGE change in what you can do in CF :) Jeremy Allen [EMAIL PROTECTED] [Insert Quarter] -Original Message- From: Don Vawter [mailto:[EMAIL PROTECTED]] Sent: Monday, August 28, 2000 6:17 PM To: [EMAIL PROTECTED] Subject: Re: What I want in CF (was: Learning ASP) How about i++ operators etc in cfscript I can't tell you the number of times I have had to fix that. -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: What I want in CF (was: Learning ASP)
I'd like to see some actual statistics backing up that claim. I hear people use this argument all the time. "CF ultimately costs less because it's so much easier to learn and faster to develop applications with." Well, this is definitely not true all of the time, and given that there are so many people out there who know VB (I think VB is still the most widely used programming language in the U.S.), it's not that difficult to find an ASP programmer, or to train someone who already knows VB. I've worked with people that had 2+ years of CF programming experience, but couldn't write good code to save their life. I've also worked with CF programmers who had only been coding for four months, and were teaching me new things. It really depends on aptitude. Some people are good programmers and some aren't. If someone is going to learn CF in a week, I think it would also take them a week to learn ASP. I'm guessing that there will be very minimal differences in training costs. Now, that said, I do like CF better, but it's not because the syntax is so much easier or that the performance is so much better. It's because there is so much built in functionality, and that functionality is very easy to use. If, however, this added functionality doesn't work, why am I paying $1200 for it? Not to mention that this ends up costing even more. Like, now instead of having to hire programmers for one language (CF), I need more programmers to write C++/VB for all the custom COM objects and CFX tags that had to be written to basically duplicate the functionality that CF was already supposed to have. Why wouldn't it be easier to just hire a VB programmer who could be trained to write ASP? Then you have a developer who can write COM objects in VB and write ASP, with very little additional training cost. This argument gets even more compelling when you are already developing on the Windows platform. I am a huge supporter of CF, and I will continue to advocate the use of CF over ASP for the time being, but when CF 5.0 releases, it better have a lot of fixes in it, or I'll have to re-evaluate what language is my language of choice for web development. Byron -Original Message- From: Dave Watts [mailto:[EMAIL PROTECTED]] Sent: Monday, August 28, 2000 2:52 PM To: '[EMAIL PROTECTED]' Cc: '[EMAIL PROTECTED]' Subject: RE: What I want in CF (was: Learning ASP) Well I can think of one REALLY good reason why ASP users might deal without nifty things like built in HTTP, etc. where CF users might insist on said functionality: Cost of ASP: $0.00 Cost of ColdFusion: $1199.95 (From Necx.com) If you compare the labor costs for training and development for entry-level and mid-level CF developers vs ASP developers, that $1199, or the $3000+ that you'd pay for CF Enterprise Edition, will pay for itself in less than a week, I suspect. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ voice: (202) 797-5496 fax: (202) 797-5444 -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
Re: RE: What I want in CF (was: Learning ASP)
Ok, in parentheses below are my responses to some of the improvements. How about some "real" looping capabilites consider. How about starting arrays at 0 like every other langauge for(i = 0; yadda ; Gap == 2 ? something : somethingElse) (A norm is a norm, by now it's normal for Array's in CF to start with 1, I've got it pretty well set in my head that CF Array's start at 1, everyone else starts at 0, I really wouldn't appreciate changing that line of thinking). AH. Almost forgot. The ability to form post to a cf page and have cf determine the size of the file BEFORE the upload. ie, an optional byte cutoff limit for file upload. (I would wholeheartedly second this, gawd the nightmares I've had w/ppl posting 20MB files to my personal CF Intranet, almost filling my Disk Quota with my host...) Jeremy Allen [EMAIL PROTECTED] [Insert Quarter] -Original Message- From: Don Vawter [mailto:[EMAIL PROTECTED]] Sent: Monday, August 28, 2000 6:17 PM To: [EMAIL PROTECTED] Subject: Re: What I want in CF (was: Learning ASP) How about i++ operators etc in cfscript I can't tell you the number of times I have had to fix that. -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. Gregory Harris Los Angeles Information Technology Agency (ITA) [EMAIL PROTECTED] -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebarRstsbodyRsts/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
Re: What I want in CF (was: Learning ASP)
I personally think CF has its own Advantages and Disadvantages compared to Asp. Asp with JScript has a stronger type language and real feel of oop programming more than of scripting. VbScript okay...language feels like talking yuk! Inspite of more coding for database connectivity and such, ADO has its own advantages of server side cursors and data manipulation at the server level.\ Well, having said all these with microsofts .Net and C sharp, i guess will be whole new story Allaire better come up with something more "Sturdy" Best Regards Joe - Original Message - From: "Zachary Bedell" [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, August 28, 2000 5:26 PM Subject: RE: What I want in CF (was: Learning ASP) -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 This brings up an interesting point. As CF developers, we're used to getting lots of functionality in the base CF product, without having to rely on third-party addins. Is this what we should expect? For example, I'd much rather have the CF developers fix other problems within CF, such as memory management and stability issues, or the COM interface, than fixing CFHTTP, CFMAIL, and the rest, because those I can replace on my own. I can't do a whole lot about how CF manages memory, though. Maybe our expectations are a bit high, after all. I suspect you wouldn't hear ASP developers complaining about the lack of HTTP client functionality built into ASP; (Yeah... You'll hear me complain about it alright. I deal, but I'll still complain, goddarnit) they expect to have to use third-party products to fill functionality gaps. Why should CF developers be different in that regard? Well I can think of one REALLY good reason why ASP users might deal without nifty things like built in HTTP, etc. where CF users might insist on said functionality: Cost of ASP: $0.00 Cost of ColdFusion: $1199.95 (From Necx.com) Granted you need a WinNT Server license for ASP, but I end up needing that for CF too, so that doesn't count... And at 854.99, a 5-user copy of Win2k Server is STILL cheaper than ColdFusion Pro. Certainly, things like memory usage, stability, etc. should be fixed be as a priority. I just think that things like CFHTTP or CFMAIL that just barely work should either be fixed or removed. There's ABSOLUTELY NO EXCUSE for releasing a $1200 product that has as many bugs and requires as many kludged work around as CF 4.5.1 does. If Allaire doesn't want to take the time to do CFHTTP, etc. right, then remove them from the product. Then they need to stop advertising that the product "includes" those things when the majority of users can't use them need to buy third party replacements anyways. Am I completely alone here? Or do others share my (slightly exasperated) options of Allaire's programming practices? Best regards, Zac -BEGIN PGP SIGNATURE- Version: PGPfreeware 6.5.3 for non-commercial use http://www.pgp.com Comment: Please use PGP!!! iQA/AwUBOarY7QraVoMWBwRBEQLM5gCdGIGAAM6nVUNEf0viBL4UegDx3BEAoIq1 mMgDnOKX9XD3FbDO2IqGoDL0 =RT1h -END PGP SIGNATURE- -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
RE: What I want in CF (was: Learning ASP)
Really? Not in my neck of the woods Most of the folks we interview have a procedural programming background, and most have used VB in the past. Having them pickup VBScript for ASP is a cakewalk compared to them figuring out the whole "shove your code into the middle of perfectly good HTML" thing... We hire programmers, not monkies, so formal training is *very* seldom necessary. Our guys can learn new tricks fairly quickly... I'd guess that you're the exception, not the rule, based on my experience as an instructor. As far as preferring the ASP model versus the CF model for code, that's more of a personal preference than anything else - in either case, you're mixing HTML with server-side programming. The alternative, to me, is even worse, in which you have to output each line of HTML specifically within the body of your code, like you'd do in a Java servlet, for example. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ voice: (202) 797-5496 fax: (202) 797-5444 -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.
Re: What I want in CF (was: Learning ASP)
Delphi page producers are a pretty good alternative (plus ISAPI apps are quite speedy). I'm not savvy with the Enhydra architecture, although it offers a different alternative again. (I've heard its good) Jared. Dave Watts wrote: Really? Not in my neck of the woods Most of the folks we interview have a procedural programming background, and most have used VB in the past. Having them pickup VBScript for ASP is a cakewalk compared to them figuring out the whole "shove your code into the middle of perfectly good HTML" thing... We hire programmers, not monkies, so formal training is *very* seldom necessary. Our guys can learn new tricks fairly quickly... I'd guess that you're the exception, not the rule, based on my experience as an instructor. As far as preferring the ASP model versus the CF model for code, that's more of a personal preference than anything else - in either case, you're mixing HTML with server-side programming. The alternative, to me, is even worse, in which you have to output each line of HTML specifically within the body of your code, like you'd do in a Java servlet, for example. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ voice: (202) 797-5496 fax: (202) 797-5444 -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body. -- Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ To Unsubscribe visit http://www.houseoffusion.com/index.cfm?sidebar=listsbody=lists/cf_talk or send a message to [EMAIL PROTECTED] with 'unsubscribe' in the body.