yarlpavanan81
New Member
- Messages
- 46
- Reaction score
- 1
- Points
- 0
php
asp
html5
asp
html5
That's a bit of a strange question/poll.
ASP (the classic VBScript version) is an orphaned technology, and it's only supported on MS IIS to provide compatibility for old sites and applications. It's only runnable on Windows servers (there was a commercial runtime for *nix that was horribly expensive before it was withdrawn from the market, and it's impossible to get a new licence now and illegal to run without a license; the FOSS equivalent is too flaky to use in its current state and seems to be a dead project). It's not going to gain any new features, and starting any new development in ASP would be short-sighted to say the least.
ASP.NET, on the other hand, isn't a language. You can call it a framework or an environment. It's a set of classes and APIs that you can use to develop web sites and applications in one or more of the .NET languages. C# is probably the most popular language to develop ASP.NET applications in, but you can also use VB.NET or one of the more exotic languages, like F#, Cobra, Delphi, IronPython, IronRuby, IronScheme and so on since they all compile to the same intermediate language (the "assembly language" for the Common Language Runtime virtual machine, or CLR). Most of the .NET languages are pretty good from a programmers' perspective; much of that deriving from the fact that they are relatively new and not very concerned with backwards compatibility. (Even VB.NET is a decent language, if a little verbose. Most of the negative reaction comes from its surface resemblance to VB6/VBA/VBScript which, like PHP, are accessible enough to the beginner to have encouraged a lot of people who don't know what they're doing to write very bad programs that mostly, but not always, do what they're supposed to do—eventually.)
ASP.NET is expensive to run, relatively speaking, so it's mostly confined to corporate servers. If in-house corporate development, "consultantware" or shrinkwrap solutions for the corporate environment are your goal, then ASP.NET and one or more of the CLI languages are worth learning.
An incomplete subset of ASP.NET can be run on low-cost *nix servers using Mono, but the developer needs to be aware of the differences between the Windows IIS/CLR runtime and Mono to make effective use of a *nix server. Since you'd probably be developing an ASP.NET application in Visual Studio on a Windows box, local testing and debugging won't tell you much about how an application will work (or break) in the Mono environment; you'd need a Linux box with Mono installed for testing and debugging. Note that not all free or low-cost hosting providers offer Mono support, primarily because they'd have to support users who don't know that Mono is not the same thing as a Windows ASP.NET environment.
PHP is a glorious mess. It has features like weak dynamic typing and variable variables that a good developer can use to create masterpieces of metaprogramming and poor programmers can use to shoot themselves in the foot with gay abandon. It has been built up piecemeal from Rasmus's original Personal Home Page Tools, and it shows—there is very little consistency in function naming or in the order of arguments to similar functions. You pretty much need to have the documentation handy, even as an experienced developer, to "remember" whether a function is called "strsomething" or "str_something", and whether it's $needle or $haystack that comes first this time. Type coercion is an ongoing source of problems for inexperienced developers, and you need to be aware of the dangers of "==" (and will probably wish there was an "====" and an "=====" as you write yet another .equals() method to get around the deficiencies of "===").
The barrier to entry for PHP is low. The basic tools are free (except, perhaps, for the actual computer—you can pay for a good IDE like PHPStorm or Komodo, but you only need a basic text editor and an XAMP server), and a beginner can get up and running with a minimum of fuss and bother. There is a metric crapload of poorly-written and just plain wrong code out there on the web (and in books) masquerading as tutorials and references—it seems that anyone who's ever gotten something working at all, no matter how badly, is an "expert", and that bad code spreads like the plague as other people copy it. You can write good, solid code in PHP. The problem is that you don't have to, and because it's easy to get started, too many people never bother to learn the basic principles of programming and application architecture. And the less you know, the less you know about what you don't know, so you'll take bad advice from anybody who seems to know more than you do.
PHP is everywhere, though, and it's incredibly easy to deploy, so despite all of its shortcomings and its reputation among language snobs, it's a tool well worth having in your toolbox. (It's really difficult to find Ruby on Rails or Erlang hosting for under five bucks a month.)
HTML5 doesn't belong on the list at all. It doesn't matter what language you use for the back end (the server side) of your application, you're going to need to know the front end (what the browser deals with). HTML5 is a bit of a silly term in any case—there is no version number for the upcoming HTML "living standard", and "HTML5" is usually used to refer to the whole class of front-end technologies: HTML, microdata formats, CSS3+ (including transformations) and the APIs for the DOM (mostly accessed through JavaScript now, but look for languages like Dart to make inroads). The addition of canvas and audio elements, the introduction of web workers and (perhaps) websockets, and the availability of limited local storage don't really change the game; you still need to know both front-end and back-end development in order to create web applications. It doesn't matter whether the front-end languages and technologies are "good"; you still have to know and use them if you want to build a web app.
Without requirements, there's no objective definition of "good". Good for what?
ASP isn't a language, it's a script engine.
PHP and HTML are used for entirely different things; the former is a programming language, the latter a document structuring language. It's rare that you'd use PHP without HTML, so picking one over the other in a poll makes no sense.