Episode 40: Listener questions
Hello! We’ve got a winner from our last contest for the Frank Zammetti book, and I put some questions I’ve received out to you, the listening community. We’re looking for some feedback on what webdev technologies you’d point people to who are just looking to get in to the field, and also looking for suggestions for good PHP OO learning resources.
Comments



Peter says on Nov 23, 2007 @ 11:39 AM:
As usual an excellent podcast.
With regards to the question of which technology I would advise someone to learn, I personally suggest PHP (coupled with mySQL). The reason being PHP has very good online documentation as well as a large user base which helps greatly when problems ocur and you need help. Another good reason for using these technologies is that it they are cross platform so can be used on a nix box or a windows box. As this is the case the majority of web hosts support it.
You mentioned a particular PHP oo book. Another 1 that I would suggest is PHP|Architects Guide To PHP Design Patterns written by Jason Sweat. Many books about Design Patterns have the basic problem of not being based on a particular language. This causes problems especially for new programmers when they try to transfer those ideas into their language of choice. This book being based upon PHP gets over this flaw.
Jason Querido says on Nov 23, 2007 @ 02:16 PM:
Thanks for the podcast!
I would definitely recommend users start with PHP for a couple of reasons:
First, the community. There is a very different feeling in the air with an open-source community. Seems to be more helpful in general -- people are often uploading their personal solutions, just incase it could help someone. Further, the online documentation is the best I've seen from any language.
Second, it is a more forgiving language. This could offend some purists, I know. I love the strict typing of, for example, of C#. The fact is that the advantages of strict typing are generally not necessary for many apps... more especially for those learning the ropes. PHP is a great language to learn programming principles, and then to grow with -- it can be a very powerful language!
In the end, the most important thing to me is oo... so I guess I'm pushing for PHP5. I would have loved it if I started in an OOP language.
James Bauer says on Nov 24, 2007 @ 12:29 PM:
As always Michael, great podcast!
I thought to voice the Microsoft community and recommend developing with .NET.
.NET as a platform has a huge list of things to offer– OOP/Easy Configuration and Deployment/Comprehensive Class Library/Scalability/Security/Rich Development Experience though a Top Notch IDE (Visual Studio)/Easy Integration with SQL Server & SharePoint Services/Tons of 3rd party plug-ins/etc
I recently made the switch from the PHP/Ruby world and I took a solid 25K pay raise. Not that developing is all about the money, but I have found that if you can get paid more to do the work you have a passion for ... why not right?
But my top reason to recommend .NET would be flexibility. If you don’t like the verbose syntax of VB just use C#. If you prefer Ruby you will be able to use the DLR implementation, IronRuby, in the near future. (Python, etc) This is of value to me because at some point you will have the ability to code in almost any language, but still have access to the .NET framework.
Another huge reason I took the leap into .NET was the fact that everyone I respect is using this powerful framework! Jean-Paul Boodhoo, Scott Hanselman, Phil Haack and Jeff Atwood just to name a few.
Michael Kimsal says on Nov 24, 2007 @ 02:50 PM:
@all - thanks for the great comments and suggestions so far everyone!
@james - I do respect the multiple language thing in the .net world. The Java community has had it in theory for a long time - I remember 4-5 years ago people talking about the hundred or so languages that could run on the JVM. In practice, however, nearly all of those were proof-of-concepts, nothing more, nor terribly supported.
The big ones these days seem to be jruby and groovy, though I think jython is getting some new traction. Being able to leverage a solid core VM and choose between multiple languages is definitely a good thing. It'll be interesting to see how much of an impact c#3 will have when it's been out in the wild for awhile (new features, linq, etc.)
Michael Pelz-Sherman says on Nov 29, 2007 @ 09:28 AM:
I think one's choice of languages to learn should depend primarily on the kinds of projects one wants to work on, and companies one wants to work for. Dynamic/Interpreted languages like PHP, Perl, and Python tend to be used on "gonzo" projects with aggressive schedules and fuzzy requirements. Web 2.0 tends to be all about the UI; there isn't a whole lot of complexity on the back end on most of these projects. PHP is a great fit for "Web" development because of its ease of use and ubiquitous nature - it's generally available on most web servers; no special config required. Because of its "quick and dirty" (or should I say "utilitarian"?) mindset, PHP is a good choice for "throwaway" projects, which (let's face it) a large percentage of web sites are. Very few people develop web sites that they honestly expect to live basically unchanged for decades. For these reasons and more, PHP has become virtually synonymous with "Web Development".
Java and .Net, OTOH, tend to be used by large "enterprise" organizations with deep pockets and long time horizons. Think Blue Cross, Fidelity, and IBM. These applications tend to have very complex logic on the server side, with lifespans of multiple decades, as opposed to a web site thrown together by a startup as a proof of concept or as "bait" for venture capital.
This is not necessarily intended as a critique of these languages themselves. It's more about the culture engendered by the language. Java/.Net companies do tend to be much more stable, but they also move much more slowly and carefully. If you are a slow, careful person who likes lots of structure, and someone who values stability over speed & convenience, you'll be happier in the Java/.Net world. If you are more of a "thrill seeking" type who likes doing lots of new, small projects rather than working for years on one big project, you'll love PHP.