Re: my little comments on jsp and php
I learned jsp for about 5 years, and learned php for about 4
months. I feel php is more easy to learn, and it can do almost java
can do. So i suggest people to use php for do web. Here is my little
1) People said struts/spring is not hard to learn. YES, just for the
API itself. To learn them right, i need to learn how to setup the J2EE
server, how to deploy my war, how to compress my code to war, and i
You need to do the same with regular Web apps on any server. Setting up
Apache Web server in a production environment is not for technically unsavvy
need to learn how to use the IDE too. All of them composite an complex
environment and make the learning curve very high. Don't tell me you
Sometimes knowing the harder tool gives you more strength. Not everyone who
drives a compact car can handle an 18-wheeler either, but that doesn't mean no
one should ever drive a truck.
are using a notepad to write struts, then you will spend a big amount
of time for writing the makefile, and everytime you add more source
You mean build.xml, don't you?
file to your project, you need to rewrite the makefile again.
No, you don't. In fact, you don't even necessarily need to rewrite the build
file to use it in a different project. I have made many Java projects using
the identical build.xml.
For PHP, open a dreamweaver , save your code and then work. For me, i need 0
second to learn Dreamweaver, because it is WYSIWYG.
Some people need simple tools, some can handle professional tools.
2) Java is too large now, it spited into too many layers :
presentation layer (JSP), logic layer (struts), data layer(hibernate).
Struts and Hibernate are /third-party/ products.
The separation into layers isn't Java-specific, it's a product of correct
analysis, which is the same for PHP or Java or .Net.
For almost project, do we necessary to do that?
Absolutely, yes, it is.
Some people said splited as many layer as we can, will make the project more readable,
Those people are not smart, and it has nothing to do with Java or PHP.
and other people is more easy the trace. I totally disagree with that.
Because i need *SERVERAL* skills to trace a bug in the project that
with serveral layers. For example, I need to use jbuilder to trace the
struts part, and i need to use eclipse to trace hibernate. It is hell.
(my point of view)
Funny, I've traced Struts / OO-relational projects without using Eclipse or
JBuilder. Typically I use one IDE, such as Eclipse or NetBeans, either of
which can trace through all the code without help from JBuilder.
3) Just too many .xml properties file. The beginner is hard to learn.
The struts have its own properties file, hibernate has it own too, and
the server also has it own. Too annoying (my point of view)
4) The IDE is not really as good as visual studio. I know how to use
Matter of opinion. The IDEs I use (Eclipse and NetBeans) are both at least as
good as Visual Studio for their respective domains of influence. (I have
neither tried to develop Java with Visual Studio nor .Net with Eclipse or
jbuilder and eclipse, both of them cannot set the breakpoint in any
line of code, i meant i cannot set the breakpoint in some of my code.
Without a good IDE, debug my struts program is hard.
Huh. Try NetBeans, then. It sets breakpoints on any executable line of code.
(Certain "curly-brace"-only lines and comments not covered.)
5) The build process is not united. For example, Liferay is a java
portal, when you open its ant file, over 30 options, i don't know how
to build it. For asp.net, whatever your project is, press the build
button, it will build, press the run button, it will run.
The advantage of a captive market, I suppose. In a totalitarian state you
don't have to worry about choosing what color shirt to wear.
I am not familiar with Liferay.
BTW, Microsoft products use a ton of XML and other configuration files, too.
All of the above points is not exist in PHP world. For a big
Nor do type safety, exception handling, robustness, logging, skilled
development team, i will suggest java, as i said java split the
project in more layer then PHP, it will have better division of labor.
Nothing to do with Java vs. PHP. Layers are in the model, not the implementation.
But for a team with less than 100 developers, i suggest php.
I suggest .Net or Java. I also suggest keeping team sizes to under five
Please correct me if i am wrong !!!
You're entitled to your opinion, even though I regard it as ill-founded,
insufficiently considered, poorly argued and totally missing the point.