Forum Moderators: phranque

Message Too Old, No Replies

Suggestions on best scripting language to use.

(would really like your opinion)

         

Dollface

3:54 am on Mar 22, 2008 (gmt 0)

10+ Year Member



I have spent the last two years breaking my neck trying to find good PERL programmers who could work on my community site (regularly). After being disappointed time after time, I have just arrived at the conclusion that it will be less stressful to just find someone to rebuild the entire site is another language (perhaps one that is more widely used by web developers).

My question is, what programming language would you recommend for building a community-based, interactive website? Think: user levels, admin, customizable profiles, blogs, guestbooks, friends etc..

Which language do you think it better equipped to build this type of site AND which do you think is more popular (in terms of finding people to work on it later on)?

Thanks for reading!

[edited by: Dollface at 3:55 am (utc) on Mar. 22, 2008]

Gian04

9:44 am on Mar 22, 2008 (gmt 0)

10+ Year Member



PHP

kiwibrit

10:06 am on Mar 22, 2008 (gmt 0)

10+ Year Member



PHP. Open source, comprehensive, a whole bunch of support from other php users on line.

rocknbil

6:12 pm on Mar 22, 2008 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Everyone is doing PHP now because it's so much easier to learn. Consequently, because it's so much easier, you will find a higher proportion of inexperienced programmers who can't do what they say. So I don't know if your disappointment factor is going to decrease.

I'm sticking with perl, I can do PHP but I do far better in perl. :-)

Dollface

7:50 pm on Mar 22, 2008 (gmt 0)

10+ Year Member



Thanks for your suggestions! I was thinking PHP too because there seems to be so many coders available.

rocknbil, you make a good point there. PHP seems very popular but most of the coders I've encountered only like to work on existing scripts (like mambo, drupal, oscommerce etc..) which doesn't help me much.

Of course, there are tons of programmers who CAN and prefer to custom-code, however, I've been worried that even after switching my site to a different language I would end up in the same predicament if ever the original developer splits. I would be left with a script that no one wants to touch. I would love to stick with Perl but its impossible to find "web" developers who want to work on an existing site. How come people don't like to work with code created by someone else? I would think its better considering the bulk of the work is done?

Any thoughts on Ruby or ColdFusion?

kiwibrit

9:32 pm on Mar 22, 2008 (gmt 0)

10+ Year Member



How come people don't like to work with code created by someone else? I would think its better considering the bulk of the work is done?

Not necessarily. The logic and structure is often not that obvious. Few web authors leave behind comprehensively commented script - after all, they have not been paid to do so.

rocknbil

4:04 pm on Mar 23, 2008 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



How come people don't like to work with code created by someone else?

In a way, at least for me, there is a genuine artistic approach to programming. It is an art. One artist perceives a scene one way, and of course, that is always the "best" way to that artist.

It takes an investment in time for a new programmer to review existing code and actually digest the logic of the previous programmer. Sometimes they scan a few lines, decide the programmer is an idiot, and recommend reconstruction. This can simply be a problem with ego, or it can actually be true.

Many of the scripts I've reworked have multiple built-in problems. For one, a lot of them are what is called "spaghetti code." Instead of breaking down the functions in a series of easily digestible subroutines that can be isolated if there are problems, they are constructed like a web page, a series of functions inline, all executed from top to bottom. These are extremely hard to maintain and even more difficult to scale or expand upon.

Sometimes they programming is just plain sloppy and hard to understand what the programmer is thinking.

Others are intentionally obscure to prevent new programmers from picking up the ball, or just have fundamental security issues or are coded in such a way that if you add "this new thing" it breaks something else.

All of this can be a result of inexperience or just bone-headed ego. You'll find this in any programming language. I have been forced to revisit some of the scripts I built early on in my career - and consequently was very thankful I had the opportunity to revamp them before someone else had to dig through this mess.

Personally I love reworking existing scripts, for two reasons. One, it provides an insight to my own programming and gives a baseline as to whether my work is up to par. Second, in spite of a lot of the garbage code I see, every now and then I come across a method or approach that's pure genius and I learn something. :-)

Dollface

6:09 pm on Mar 23, 2008 (gmt 0)

10+ Year Member



aww... well, its too bad there aren't more programmers like you rocknbil! Most of the programmers I've hired have not been able to do much with my site (one guy even came in and broke a few of my ranking lists which were fine to begin with and then split on me). Alot of bad luck I guess. I think my site would have fallen under "spaghetti code" since initially the entire site was scripted in one LONG file. Luckily I found someone a while back to somewhat fix it using AutoLoader (or AutoSplit) it basically separated the long file into separate mini-scripts for each section of the site. Works pretty good now.

I can definitely understand what you mean though, especially with Perl as there are so many ways (apparently) to accomplish a task. The funny thing is I am able to read every single line of code in my site and more or less understand what is going on. I think in my case, programmers are probably just too overwhelmed and don't want to even try.

Good point about the comments... next time around I am going to require commented code or at least some kind of documentation. You live and learn I guess :)