Hot answers tagged

14

Congratulations, you've embarked on the single riskiest type of project that is possible. Complete rewrite, second system, unresolved people problems, lack of technical direction, up front willingness to make it big - any of those are red flags that would cause sane people to run screaming the other way. The only bonus is that it would be hard to pick a ...


6

Ask yourself why you want to move from LAMP; is it because of deficiencies in the stack, or deficiencies in the practices and design around the original application? Bad code can be written in any environment, from assembler to the most astronautical architectures. Currently, my company runs a highly scalable set of web services on Linux, nginx, MySQL, and ...


5

What exactly happens depends a lot on the needs and configuration of the individual application or server. For instance, does Apache/nginx actually run the php file or does it pass it to the php interpreter? Both are possible, but for performance reasons, the PHP interpreter is typically integrated into the server as a module (such as mod_php for Apache ...


3

The ā€œPā€ part of a LAMP stack is a layer of CGI scripts. This layer can be provided by a number of languages. While PHP is the most common of these, other languages such as Perl or Python can be used as well. While a LAMP architecture is common and robust, it may not actually match your needs. For example it might make sense to not use CGI scripts and leave ...


3

Most web applications I have installed have a setup "wizard" that runs when I first navigate to where the site is hosted and it will run the scripts using some nice interface, which is a very nice feature.. However, the scripts are all there for me to see usually and i have also bypassed the setup wizard all together and just run the sql scripts myself. ...


2

Yep, you have a problem - but the solution is not to rewrite! Now, solutions for actually fixing your problem in a constructive way.. you need to start shearing off layers of the old system and replacing them, that's clear, and that means that you need to maintain compatibility with what you already have. So that sounds like web services (which you can ...


1

It's ultimately a judgement call. For example, if your functional requirements are still somewhat of a moving target, then refactoring now may well be a waste of time -- later on, new or changed requirements may suggest another altogether different functional decomposition. That's what usually happens to me on the first cut of any new development project. A ...


1

Certainly. If you're only learning, it's more important that you rewrite code to learn from your mistakes, instead of trying to finish by force a poorly written system that competes with the thousands of other social networks out there. The "build one to throw away" philosophy works very well for learning, less so when you're financially dependent on the ...


1

Are you planning to distribute it, or you're the one who's going to install it? In the former case, go with a setup script (or schema creation on the first run). In the latter case, a schema file would do. The upside of manual schema creation is that you don't have to give the database user that your PHP files are connecting as any schema editing rights. The ...


1

In my work we have two main ways of doing it: SQL inserts in a version controlled package, and setting up as much data as we can via internal tools. Since the SQL inserts are versioned then we can branch those alongside any application updates and create a modified set. This can then be merged just as with any other code. One word of advice with this method ...


1

YAGNI applies there. If it's for your use only, use whatever works best for you. If it's for distribution, then you need to provide at least instructions on how to use the schema file, or a build script. The easiest it will be, the more people will be interested in going with your application.


1

Using scripts to create database used to be the case some time back. It was also the time the database administration is a full time profession. Our application used to ship with oracle sql scripts to manage db creation. Some time DBAs then gave feedback about missing index etc, for performance. Today we ship with pre-built database (postgres) and ...


1

You should go with a setup script, which the installer can customize. There is much more to defining a database than you can easily include in the application code. As a system scales up data placement, index options etc. become more important. Its nice to have an install script where you have fine control over all the database parameters, rather than rely ...


1

According to Joel Spolsky - the single worst strategic mistake that any software company can make: They decided to rewrite the code from scratch. You say: poorly written due to a large number of patches and possible hundreds of programmers That is not the reason. Joel explains all in the following article http://www.joelonsoftware.com/articles/...


1

First of all, any use of C++ for web development is so incredibly niche as to not even be worth considering. If you're asking "what language should we use?", then I can guarantee you 100% that the answer is not "C++". That out of the way, as others have said, there are options: I would say that far and away the two most common choices for enterprise-y web ...


1

I don't see any path from this that isn't full of failure - one of the biggest draws of the LAMP stack is that PHP has a lot of libraries, and if the code is already in PHP you're certain that PHP supports anything you need to do. You can write bad, unmaintainable code in any language, but your choices for "Enterprise" web are basically Python, Ruby, C#, ...


Only top voted, non community-wiki answers of a minimum length are eligible