Forum Moderators: phranque
1) You have only VB talent - go for ASP
2) You know Perl like the back of your hand - go Perl
3) You need to integrate your web app with some Java app - go JSP
4) You need to inflate the bill ;) - go Coldfusion
Ducks for cover.
.. but here is one link I would like to post .. its about why YAHOO chose php for some of its stuff over rest of the technologies
[public.yahoo.com...]
They seem to have considered all the factors very thoroughly.
I am not sure if this link is fairly general to be considered admissible here.. moderators please correct that if needed.
Thanks.
Any Suggestions? - Preferably nothing that’s going to require going back to school :)
I started on it about 5 years ago, and for some reason, it keeps coming back to haunt me that I didn't learn it in my free time at school (they didn't teach it at the university I went to).
It's fairly 'easy' (just mho) regex's are nice, it's free, runs on Apache, IIS, etc. and fine tuning it can yeild incredible results. Plus, theres a lot of code example out there.
Course, I've also heard many, many people recommending PHP for much the same reasons - the main one being that it's fast and easy. Portable, as well, cause you can run it the same on Windows and *Nix.
if you could start fresh
In this game, there's no end to learning. We have to keep up with what's current. In the past 10 years I've learned 6 programming languages depending upon what needed to be learned. And all but 2 have been dropped because I nolonger need them.
That being said, one that I'd like to learn is C++ for the simple reason that it would allow me to write code that could be compiled within a Linux kernal. Why do this? Because it's super efficient and extremely fast. It's the best way to make a super fast and super powerful website.
If I didn't have access to the kernal then I would focus on PHP - which I have and achieved modest success with though there's so much more to learn!
If you want to make a living as a programmer you probably would be most employable with C++. It looks like there is an over abundance of Java programmers.
I have been teaching myself plain old C over the last year. Not because I want to make a living as a programmer, but because I just want to learn it. Going more off topic, C seems to be the steel of the programming world, many of the other languages are built out of strait C.
You may also want to consider PHP (lots of web applications out there) or Python (easy to read and write).
Just out of interest, apart from being free, why would any of you recommend php over coldfusion. ---I know the two are nothing on the above mentioned but I think the other recommendations are out of my league slightly at the moment---.
However, if you aim for large web applications in the corporate world then Python, Perl, Java or even C++ might be a good idea.
I'd have to agree except for the part about Perl. I've worked for a number of Fortune 500 (some two in the Fortune 10), and none of them are using Perl. C++ and Java/JSP is where big business is -- at least on the web.
IMHO, I would lump Perl in with the smaller web applications category.
Which might be a good reason to learn ColdFusion, if you're thinking career-wise. ;)
I'd learn Perl though. It would make my life much easier if, when looking for a free/cheap script for a website, I could take a "close but not quite" script and rework it for my needs...
Right now, the best I can do is find "works right but doesn't look exactly like I want" and customize the HTML output.
Stay away from Cold Fusion, it is ssslllooowww, and expensive. Also, there are very few free cold fusion applications when compared to perl and php.
Perl is the top dog when it comes to free ready made software, there are literally tens of thousands of free perl scripts for the plucking + perl runs easily on unix and ms.
Just out of interest, apart from being free, why would any of you recommend php over coldfusion.
Because "PHP is Cold Fusion on steroids" to quote an acquaintance and because of the tremendous support the PHP community offers. Take this Board for example. Do a search for Cold Fusion and then do a search for PHP.
Another thought. When I visited Macromedia's Exchange section, I found the free CF code to be mediocre. The free applications that I found when I was using CF were few and far between and then there were few people out there that had ever worked with them that I could turn to when I had a question.
There are more PHP apps freely available and more people willing to help support PHP. Plus, the free PHP applications I've played with were far more robust than their counterparts in CF. I was, to put it mildly, quite impressed when I discovered PHP and haven't looked back since.
Stay away from Cold Fusion, it is ssslllooowww, and expensive.
I just wanted to state, that ColdFusion is not slow at all. It is actually very powerful and stable. You would be surprised at the amount of large corporations, running business-critical websites using, ColdFusion. Perform a "coldfusion vs. asp" search on the internet and read some of the articles, written by programmers who are proficient at both.
Also, in my experience CF is actually slower on a Unix/Solaris/Sparc setup rather than an MS OS. Dont ask me why. Maybe this is why you state CF is slow.
The truth is, Web-Scripting languages are all fast, and speed is not much of a concern here.
_____________________________________________
Just for fun, my personal journey through the world of computer programming:
(Pascal, C, Assembly, UNIX, Basic, VB, VC, SQL, Cobol, HTML, PERL ASP, CF, Java, JavaScript)
--In order of year learned.
Anyone else care to share?
Back to the topic: I'd recommend Python as a first language any time to anyone. If you want to learn the concepts behind software development without having to fight your tools, then there's simply no other choice. You may have heard me repeat that a few times already.
On the other hand, I'm really glad that I have worked with some less common languages myself in my previous lifes. Lisp taught me to think in dynamic data structures and elegant functional design. C gave me the power to squeeze the last CPU cycle out of the machine (still does, when writing Python extensions). Oberon introduced me to object orientation. And, finally, Python combined most of that so painlessly that I could hardly believe it at first.
Ok, enough advocacy for today... ;)
And - I don't mean to single you out but - your argument that a lot of large corporations use CF doesn't mean it's good. Heck, I can name several large corporations that still have DOS workstations! :)
I will admit that I've seen some very complex websites built with CF and yes, it is a stable language - but I haven't seen a CF website yet that impressed me with its speed - by my yardstick. But my world has a limited point of view and I'll be the first to admit it! :)
BTW - I'd love to see an apples to apples comparison of a CF site against a PHP website - if you or anyone else might know of one.
FTR: Assembly, Basic, LISP, Pascal, Delphi, Javascript, CF, PHP, and SQL. -- Good lord, "what a long strange trip it's been."
Your question is different. You're looking for a scripting language to use for websites, not to develop apps in general.
mykel said:
One more thing to consider - if you know C, then learning PHP will be easy, becasue it has a lot of things taken from C (simplified of course, but similar).
And I couldn't agree more. If you can teach yourself C, you'll never have any problems learning ANY OTHER language. It's small (meant to be that way), easily expandible (another design idea), structured, supported, widespread, fast, etc.
I only bring this up as a suggestion to people looking at the title of the page. What you're looking for is a scripting lang for the web: if that's all you want, the PHP or Perl are gonna both be great. OTOH, if you want to be able to learn them all, AND if you have the time, C is a really good choice - it will be an investment.
Personally I write my apps in C++ now, and for CGI, I use Perl. Perl was simple, and I think PHP would be also considering my background in C.
Bottom line: Ability to program in C makes all the others look easy. You're 95% there among all the other choices you want to make.
After long thoughts of a website that would be ok to post, I finally got one -- Macromedia.com [macromedia.com]
Click on some links, and notice the cfm extensions. Not too slow :) I think the Macromedia site is pretty impressive.
The thing is, when I check my sites written in ASP or CF, they all render virtually instantaneously on the server.
I cant imagine the type of looping and array loading, you are performing on webpages, to actually see a noticable performance hit.
My first serious language was C++. I learned everything there is no know about programming from C++. It has almost every concept a programming language would have. But I learned Regex in Perl and true OOP in Smalltalk.
I think I have a good programming background and for my money. If you asked me what programming language you should learn for the web. I would double down on PHP in a second. PHP is straight forward in that it let's you program without worrying about types, conversions, and lots of extra silly stuff. Stuff that you do need to worry about if you are programming an OS or something serious. But for a web page bring out the srcipting langauges! PHP runs incredible fast and it runs on all platforms. You can get PHP to do just about anything now days as well. Plus I love that fact that transitioning from HTML to PHP and then back to HTML is so smooth and seamless. PHP has Classes, XML support, and Regex. The ability to talk with databases is seemless as well. PHP is really really well designed to take care of bussiness when it comes to websites.
They all have strengths, they all have weaknesses. It is worth knowing what you want to do before you atart to program. For example, ARM Basic could be debugged very simply (JavaScript is more difficult), Perl is perfect for string manipulation (whereas C and C++ are a nightmare in comparison).
With above references mentioning PHP as a simplified version of C and built on Perl, then its also appealing in that respect. So I take it that nobody here is recommending ASP. Very strange.! :)
Two more arguments in favor of PHP compared to CF and ASP are:
It's free, therefore offered by MUCH more web hosts and easy to install locally for testing, and the PHP online manual at php.net is the best documentation I've ever seen.
Compared to Perl: PHP is made explicitly for the WWW with many useful web functions (nl2br, urlencode, and so on) and it gives helpful error messages when you make mistakes (not just "Internal Server Error").
Good luck learning it, subway!
Macromedia use it because they OWN Cold Fusion.
Two more arguments in favor of PHP compared to CF and ASP are: It's free
ASP also is free, comes built in with IIS server, which is available in different flavors, for all Windows Platform's.
Compared to Perl: PHP is made explicitly for the WWW with many useful web functions (nl2br, urlencode, and so on)" and it gives helpful error messages when you make mistakes (not just "Internal Server Error").
ASP, CGI/PERL & CF were all developed for the net and all have useful Web functions. Also, all have verbose error handling, for administrators who are supposed to receive the verbose error report, others get any sort of error message you want to give them.
All that being said, I am not advocating one vs another. I could care less which one I have to use. Most my clients already have some sort of code, so I am forced to learn whatever language, technique, style they are using.
When I first started with CF, I also made fun of it, hated using it, said it was for dummies, etc. But once I really started using it, I realized it can do everything any other language can do, structures, arrays, loops, DB functions. Memory management, variables, etc. I realized that I was wrong in my initial assumptions, and need to stop doing that, because those thoughts and ideas are based on fear and laziness.
Again, just my $.02
Compared to Perl: PHP [...] gives helpful error messages when you make mistakes (not just "Internal Server Error").
What about use CGI::Carp qw(fatalsToBrowser);?
CGI/PERL [...] were all developed for the net
For Perl´s history see the chapter 8.7 History Made Practical [home.student.uu.se] in the camel book.
Andreas