biglittle — 2013-03-28T20:17:13-04:00 — #1
If you had a budget of $300,000 for initial production, what programming language would you use to produce "web software"? Like, Quickbooksonline.com, Turbotax, inventory control, GIS, or other data management.
Ps. I'm not a troll. This is a real decision I need to make. I'm not a professional programmer, but I've built a "web software" to manage our company, and now we need to take it to the next level. We have some highly experienced programmers that say finish it out in the current language, and some say to start over. So, if I were starting from the beginning, what would be the most ideal situation?
adwatson — 2013-03-29T10:35:47-04:00 — #2
That's a pretty big question without more specifics about what the program itself does, usage scenarios, number of people using it etc.
That said, for all its weaknesses, I think that PHP and MySQL on a linux system (LAMP) has a lot of benefits - including a large pool of developers who are used to developing on that platform, lots of web hosts who are configured to run it, and lots of both open and closed source projects that might be useful.
kylewolfe — 2013-03-29T12:34:18-04:00 — #3
Wow. I agree with adwatson. There is no where near enough information here for us to give you pointers, nor will you be able to give us enough info. This decision needs to stay in house, with people who know your business and application.
Everything depends on everything else...
wwb_99 — 2013-03-29T14:48:50-04:00 — #4
I would not start greenfield apps in PHP -- see http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/ for a good place to start.
I would probably follow the advice of the experience folks and finish it in the current language unless the current language is something dying fast like classic ASP. In vaccum I would look at Ruby, Python or ASP.NET MVC as my first three default choices.
kylewolfe — 2013-03-29T15:34:14-04:00 — #5
Unfortunately I feel like Python might be dying out eventually as well? Google had a project underway to completely rewrite the code base to speed it up (much needed) but Google cut the funding on it. Plus they rolled out Go! Programming language. They might want to see that one into more of the market in place of python.
wwb_99 — 2013-03-29T15:49:03-04:00 — #6
True, Google has been a major sponsor and probably pushed python from the status of weird academic language to popular scripting and programming platform but at this point I think python has established itself to the point where it doesn't need big G behind it. From what I can see, for the startups actually building technology (as opposed to marketing plans and exit strategies) it seems to be winning lots of hearts and minds and there is certainly a lot of non-Google backed life in the ecosystem. Even if nobody wants to upgrade to python 3.
kylewolfe — 2013-03-29T16:02:56-04:00 — #7
I myself will be tackling some python here shortly. I find the language very intriguing, but the slowness just kills me, at least for the type of work that I've been doing
wwb_99 — 2013-03-29T16:21:15-04:00 — #8
I feel ya -- doing a bit of python here and there now too. Everything is slow compared to the compiled, JIT'd land I am used to unless I wanted to go to straight C or something . . .
biglittle — 2013-03-29T18:40:16-04:00 — #9
I started the project in PHP, and I've spoken to some developers who are very experienced in multiple languages, and they say to finish it as PHP. I spoke to one firm, and they said that Python is what they would use. They didn't want to use PHP because it's easy for developers to write code in 10 different ways so it's hard for a new developer to pick up on the project.
My code is written for myself. It was pretty well organized, keeping PHP in the header with only echoing variables in the HTML for output. Functions, settings, etc are all in includes and sorted well. Lots of functions help keep things tidy, and I can just change 1 function to adjust site wide changes. Overall it's still procedural though, so the programmers I've talked to suggest migrating over to OOP, but not reworking everything from the get go.
The system is meant to manage a broad scope of oilfield data, but eventually it's going to evolve to do everything our company needs, from GIS to accounting.
Prior to, we were on a strict budget, so I built the tools myself. Now, we have funding so we want to do it the right way. We don't want to look back and think "Oh geez we messed up. We should have went with XYZ". I have looked at the major companies like Facebook, Yahoo, Best Buy, NYSE, MailChimp and a bunch of others use PHP. If they can do it, I don't really see what's so horrible about PHP so long as good coding practices are put in place (of course, which wouldn't be set by me but a pro).
biglittle — 2013-03-29T20:09:58-04:00 — #10
I'm pretty sure we will finish with PHP now, simply because we need the tools and they are mostly done. One thing the developer I'm working with is suggesting I implement a template system like Smarty. Personally, I don't see the benefit because I have my code like so:
// process all code
<div id="something"><?php echo $Display['Something']; ?></div>
For example, I built table results and put them in $Display['Results'] and just echo it in the HTML. Each page has drastically unique contents, so a template for the body doesn't seem logical.
Is there a benefit I'm not seeing?