I tested this with both Netscape 3 and Netscape 4. With NS3 I got 2 pop-up ads. I also got the notice. Funny that things worked, but they thought they didn't. With NS4 I did not get the pop-up ads, but I did get a normal page.
Normal advertising on TV, on the radio, in newspapers, in magazines, on billboards, and to an extent even advertising delivered to you by the postman, are what is called impression advertising. You see it, you ignore it, you see it again, you ignore it again, you see it yet another time, and eventually you may end up buying it. You buy it because when you go to the store and are faced with several brands, you more likely pick the familiar brand.
Advertisers hate impression advertising. This is especially so if they are a separate entity from the product or service to be sold. They don't know if the advertising is working short of measuring sales results. And sales results are usually lagged from the ad campaigns. If there is more than one campaign, it is unclear which is working.
Advertisers use many techniques to try to not just drive sales, but also drive sales statistics that prove (or disprove) a particular method or media of advertising. Coupons can be tracked to the media they were printed and delivered in. Telemarketing often pitches immediate response. This is the holy grail of marketing; to know what advertising works so they can do more of that and less of what does not. If this requires knowing what TV shows you watch, what radio you listen to, what newspaper you read, or even what roadways you drive on, so be it. That's information they want to know so they can deliver yet more advertising, impress you even more, and spend less doing so.
The internet was supposed to be the diamond mine of advertising, not so much because there's more people to be impressed, and more ads can be delivered, but rather, because collecting the statistics on what works and what doesn't was supposed to be so easy. But this assumption was faulty. It assumed people would react immediately because now they can. With TV or radio or newspaper, you cannot react quickly. The cuecat was supposed to be a means to collect this data in other media by using the internet as a feedback mechanism. But in reality, people don't react immediately. They didn't before. But advertisers were assuming that was because there was no means to react immediately. They thought with the internet now they can, and they will. Wrong.
With the internet, people are more focused then with most other media. They may be impressed by frequent ads that establish brand recognition in the classic sense, even in this new media, but people generally don't react immediately. And the reason is simple; they have another goal right now, and that's whatever brought them to the internet and to the web site at that moment. Few people will stray from the path.
As a result, ads seem to be failing. They are failing to deliver the misguided expectations of getting an immediate response which can be tracked better. Ads on web pages do work, but only in the classic impression sense. They may not be working as well as in other media, but they are working. However, the perception is they are failing. The holy grail was found to contain poison, but the quest goes on. So we get more intrusive ads trying to get that immediate reaction. Even if we don't buy right now, just clicking on the ad to prove we saw it is what the advertisers want so they can show data to the company that actually has the product or service to prove their ad campaign works.
Of course bad advertising fails. But in this new media, advertisers are not recognizing it. Or maybe they are and maybe it is the case that as ads become more intrusive, people are blocking them more, and that is a failure. The trouble is, advertisers don't see it as a failure of a campaign, but as a failure of acquiring the data. So they try harder. So we get escalation and things like anti-ad-blocker software. But as long as advertisers fail to wise up as to why people are blocking the ads, this will only escalate, and hurt them (and us, too).
I was not blocking normal banner ads. I do block annoying ads. When ads come from particular places that are annoying or clearly trying to track me, like hitbox.com, then I block them. If the ad-block defeat is only used for non-annoying ads, I won't mind. It won't have any effect on me. If you want to show me an ad so I can get my free beer, fine. But if you want to slap me in the face to get a free beer, I'm gonna duck. I'd rather just buy the beer.
The only reason why ads have gotten so fscking annoying is because the conventional style isn't working. Why isn't it working? Because people block it.
If the ads are being blocked, the annoying ones are being blocked, too. So that's not the reason they go to more annoying. The real reason is they want more immediate responses. Maybe you should read my other comment on this story.
they have to pay their bills
Well then stop the annoying crap and do normal banner ads. Use the anti-blocking on normal ads and see if that works. And don't expect immediate click throughs, because that's just not going to be where the true results are.
While I'm typing this in, I'm reading the this ad for Think Geek. See, I don't block banner ads. But sometimes I am tempted to when I see ads like this one.
The kinds of ads I want to block are the obtrusive ones. Pop-ups, pop-unders, monster-box, and jump-through ads are NOT designed that way to get around blocking software. If the software was working, they too would be blocked. Instead, what they are designed to do is get people to SEE them when they are otherwise busy. TV is a passive medium. Sure, sometimes people take a bathroom break, or run to the frig, during the commercials. Yet free TV is surviving, even with competition from more networks, all the channels you can get on cable, and of course the internet. So the ads must be working since the TV stations and networks are still on the air. That's because TV is mostly passive, and enough people are too lazy to get off the couch when the commercials do come on, that ads do make impressions. You can't click on them, but eventually they effect your thoughts, and your buying patterns. It's not instant gratification for the advertisers, but it's working, and working well.
The internet is different. People are focused when they get online (else they'd plop back down on the couch and watch TV). They have some idea what they want from the internet and try to get it. Advertising on the internet has to compete with whatever it is the user is focused on. There's no time out to get their attention. People don't click through very often because that diverts them from their goal. Maybe if there was a one-click way to save an ad and come back to it later when you are ready for it, more people might. I know I would. It probably wouldn't be enough.
But advertisers weren't expecting the same results the get from TV to come from the internet. They were expecting more. For decades advertisers wanted some way to get a faster and more accurate check on how well ads work. When the internet came along, they saw it as a gold mine, but not for making subconscious psychological impressions on our buying habits, but rather, to track us, count us, and know what works to influence us and what doesn't. This is the big reason they started with click-throughs... to count how many people saw the ad and showed some interest. Auditing was an auxiliary advantage.
But people also resist. And as I said before, they are focused on something else. The kind of feedback the advertisers want is too quick to get a valid response. Just this morning I saw an ad for a product from IBM that piqued my interest. But I didn't click on the ad, because I was still looking for something else. About 20 minutes later I went over to IBM to find out more. But I just typed the domain and went direct. So some web site didn't get a fraction of a penny all because the model is wrong.
And now we have intrusive ads. They try harder and harder to get us to react... and react RIGHT NOW. And it's not really so much because they can't wait 20 minutes to sell us something, but rather because the immediacy is the only way to measure us, track us, and count us. If they have to wait 20 minutes for me to type in a web site name and visit them, they have no idea which ad campaign brought me in. The internet seemed like this was just the thing to do this, but they also forgot about some things, including the fact that people are going to be (often intensely) focused when online. So ultimately it doesn't work very well, and they are still trying to beat this dead horse.
And intrusive ads are annoying. They do divert people when they want to be focused, and people get pissed off. This is why I believe most people are tempted to start blocking ads. The more intrusive they get, the more people will want to block them, either to avoid the annoyance, or to protect their privacy (more collateral damage). Michael was right on the mark for the title for this Slashdot article. It is a war, and it is escalating.
Impression ads do work on the internet. They may not work quite as well as on TV or radio, but when well done, people will remember things they have seen. If advertisers would just give up the misguided quest for the holy grail of immediate tracking data, maybe they could get some advertising that really brings interested and paying customers... eventually.
While most of the banner ads are not annoying to me, even if animated, there is one that is. That one is the PlanetHardDrive.com ad. Maybe it's just me, but that sudden brief white flash prevents me from being able to read the page. Fortunately I can just reload or scroll it up off the edge. But I won't be going to that advertiser's web site under the assumption they are the ones who made the ad. If CmdrTaco or whoever wants to tell me different, please do.
I don't ban ads for the sake of eliminating banner ads. Normally they don't bother me and I know they support the web sites I view. But I do block a few ad sources due to things like extreme annoyances or web bugs. Don't make me have to do this to Slashdot, because I prefer to keep supporting it.
I use Linux and BSD almost exclusively. Occaisionally I will use Windows. One of the reasons for using Windows is VISIO. It accounts for over half of my Windows time (which is not a whole lot, and the Windows drive in its little sled sits in a drawer most of the time). Xfig is, unfortunately, essentially worthless. And it's not about the pictures. It's about things like the ability to modify the drawings in a fully connected object oriented way. Xfig can't cut it. Since you don't do drawings, this is probably why you don't know. Maybe you should try and see if it works under VMWARE. I'm all for free software, but there's nothing in the free realm that comes close to the usefulness ov VISIO. I wish there was an alternative w/o having to buy an even more expensive CAD program.
VISIO can export to a number of formats like BMP and GIF. You lose a lot in the export, but if all you know is Xfig, it's probably not much you've seen before. Next time, ask anyone sending you a drawing to export it from VISIO into an image format like BMP or GIF.
I like the idea. Set me up with a free account on your ad-free server and I'll start creating content which is ad-free. I'll need mod-php, access to mysql or postgresql, and about 4 gig of space for now. Man, people are just gonna love you. Your idea r00lz!
I don't have to click on TV ads. If the ad tells me about 99 cent pizzas down at Bubba's Pizzeria, I might well remember that and may go down there... tomorrow. And that would be the same on TV, radio, newspaper, or the web. It's called an impression ad. Of course the problem is that there's no simple way to track which ad you saw. The advertiser may have many ad campaigns, notice an increase in customers, but can't tell which one is effective. The web was supposed to provide this. But that only works for ads for which click through is effective. If the ad says "99 cent pizzas at Bubba's" I'll remember that if it's important, but if it says "Click here to find out where to get 99 cent pizzas" I won't, because I'm busy right now. What advertisers thought they could get out of the web (perfect tracking) is not the reality it seems to be. I sure as hell am not going to click on an ad that says "find out what softdrink is better than Pepsi" just to find out the opinion of the Coke marketing department, or visa-versa. Most conventional consumer products aren't the kinds of things you click on, and for those few that are, many people won't anyway.
Click through ads pay premium. Impression-only ads pay far less. Maybe web content providers will just have to end up accepting advertising TV style and deal with impression-only.
Hmm, perhaps because individual contributors didn't give PBS enough money for them to remain on air, they started accepting money from big corporations.
Perhaps so. But I don't care to be giving my money to something that is also going to be a whore to corporate demands. If individual donationes are low, then they have to decide whether to find a way to encourage more individuals to donate, or to encourage those who do donate to give more, or scale down to the level that can be supported by what they do get, or give up all those individual donations that wanted to support something non-commercial (like me).
I remember when there was a pledge week once a year. Now we have a pledge month once a quarter. That's not what I want to encourage.
Also think about the fact that the one with the money is the one holding all the cards at the negotiating table. Would you rather the cards be held by the corp or by you (or your elected officials)?
I don't know that I am holding more money than the corporations. I do know that I am in effect "negotiating" by holding my money and not giving it to them. I (and all the others like me) may not have as much as the corporations, but I really can't change that, either. The PBS stations (and equivalently the public colleges) have to decide if they want to accept or decline money on principle, or be whores to whoever has the most. I want to be donating to the principle.
PBS went commercial many years ago, and my donations, and volunteering, ended. If they are getting money from big corporations, then they don't need mine.
I think the same thing applies to colleges. If they are going to go get money from other sources, then IMHO, they don't need as much from the government in the next budget cycle.
You mean you didn't try to corner 30% of the national web development market, get hundreds of millions of dollars of venture capital and IPO funding, and overexpand yourself aiming for 30% when only 0.5% was the practical limit in a market with thousands of developer companies? You mean you didn't end up being a dot-com-bomb like the others who wanted to become billionaires and ended up being thousandaires?
At the same time there are lots of people who do know the stuff who are out of work. The problem is hooking truly good people up with truly good jobs... while keeping a high signal to noise ratio. Big job boards really only have a fraction of the jobs available (and stuffy boring jobs no one wants so the employers have to hire expensive recruiters to find some shmuck to take it). Looking on the "careers" section of all the companies isn't really practical, either, given so many of them around (and most with nothing listed right now). Lots of advice given to job seekers doesn't take into consideration that it isn't practical given then scarcity of jobs today.
The question is thus, how to connect up the good people to the good jobs. If someone creates a new job board, will they come (even if it's free to post jobs)?
H1B amounts to "slave labor". The workers can't risk losing their jobs for fear of being deported, so they will take whatever crap the employer forces on them, and the employers know it, so this dish it out thick.
H1B workers can't very easily change jobs, because the new employer has to already be willing to do the government paperwork to hire an H1B. The market for job hopping (which would help prevent abuses by employers) is pretty much closed to H1B workers.
H1B workers are underpaid for their jobs because the H1B job only requires they be paid at least the average pay for the job classification, and the government classifies all software engineering into one single job with one average. Since that average takes into account all the really lame programming work, too, it's a lot lower than what a really good programmer would and should make.
H1B workers hurt the US economy because they buy less here with what little money they do make (on average). Many send all their excess back home (because they aren't planning to stay), or save it up and take it back when they finally leave (even if they'd have preferred to stay and become citizens).
I say the H1B program should be dumped. Those who want to leave, go back home. Those who want to stay should be given permanent resident status (and they are welcome in our country) and be free go find a better job than the one they are stuck in. That is what a free market really is.
Reminds me of a friend who told me the story about two Ph.D candidates in EE (the friend was working on his masters in that department) with their disserations just about done, trying to connect up a circuit in a small device they were working on. They had a very hot soldering iron working, but they couldn't figure out why the wires weren't melting. Seems the only meaning they had ever leared for the term "solder" was that was the name of the hot iron to melt the wires together with. I sure would have loved to see what their disserations were about... I always like good humor.
People with experience aren't finding it any better. Too much experience and you're too expensive. But mostly the problem is projects shelved or canceled, usually due to lack of funding because upper level management of 20 companies competing for one market each figured they could get between 25% to 40% of that market in a couple years. Yeah right! My next business model is selling MBA degrees on a roll about 4.5 inches wide.
The small companies doing the interesting stuff don't advertise job openings on the big job boards (mostly, there are occaisional exceptions). Basically the job finding (and from the point of view of employer, the people finding) process is what is flawed. The big job boards are 95% jobs that are handled by recruiters, who spend about 1/4 of the space promoting how great their job placement company is. Most of those jobs are stuff big corporate jobs for small peons, and lately at pay levels unrelated to the skills and experience people really bring to the job (because they decide in advance what the pay is, and try to find someone that will take it... which works in this market right now).
I'd like to see a job board set up that's restricted to just really cool jobs. It would have fewer recruiters because they have few cool jobs, but it shouldn't restrict them. And it would be important for the search on it to be smart. On the major boards, if I search on a keyword like "unix" it matches up ever jobs for Windows NT programmers that say "some exposure to unix would be helpful", but that's not what I put the search term in to find. And there needs to be as much focus on what kind of job is involved (the role, what the work is) as the skills. Just because I listed skills in programming a few languages doesn't mean I actually want a job doing programming all day long (hey, many admins can code, too, but maybe they don't want to do it all day long).
Such a job board MUST be free for not only job seekers, but also employers. Companies are faced with many boards to post on, and when there are costs involved (usually a few hundred dollars), they simply cannot post on them all (and many small companies can't even post on any). Revenue to support it should come from impression advertising and highlighting extras (for those companies that do want to pay something to make their posting stand out).
Servlets offer the advantage over traditional CGI of being persistent, that is the servlet engine runs inside your webserver continuously waiting to handle requests. So you don't run into startup costs per request as you do with traditional CGI. This was the key advantage that servlets had originally over Perl/C/C++ but I think there are other alternatives now that do similar things in these other languages.
So the persistence is for the purpose of avoiding startup costs, as opposed to having session state ready without having to access a database? I'm a bit surprised that performance and cost are considered so important. But maybe they are thinking, or hoping, that Java will soon achieve C speeds. I know I'd like to have that, which is why I am looking forward to development in areas like GCJ that can let me compile directly to my host instruction set.
Yeah, there was "FastCGI". I tried it, but found it to be too full of problems. Personally I'd rather use C for things that need a lot of CPU performance (for example generating images dynamically) or Java for complex logic that doesn't really demand a whole lot of CPU time. C for the grunt work and Java for the think work. Does that make sense?
BTW, one of the things I'm considering doing in the design I'm working on is session persistence. That is, a process will persist for some time after each request, and when a new request comes in, the first thing the engine does is find the process for the session indicated by the cookie or wherever the session ID is passed, and pass the connection to it (perhaps to be implemented with named pipes and socket file descriptor passing). This process would then "resume" to handle the new request as a continuation of the session. The session state would still be in the variables that process holds. It would then save it's state somewhere at some time after the last request and could exit any time after that.
<flameshields>
People who program in VB are not real programmers.
</flameshields>
Now if they are switching over to Java, they may really be learning to program for real.
But be careful.
The easier some language is supposed to make things, the more likely it is that those who don't so so well will be able to at least do something.
Thus the IQ level of programmers who use UltraEZlang++ are likely to be lower than TuffLuvLang--.
The question is, which is VB and which is Java?
And are these new Java converts going to end up switching again to something where they end up cutting cut on the sharp edges?
A good introduction to the concepts behind template engines can be found at Servlets.com, along with its followup article.
I'd like to take a look at these documents. Unfortunately the site has been down since yesterday. Do you know when it might be back or where a mirror would be?
Those concepts are good ones, even on a smaller scale. But they are not exclusive to Java. Despite the fact that I believe Java is a good language (and perhaps the one I have been holding out for instead of going with C++), I want to know exactly what concepts can't work with any other language, and what concepts can. I believe they all can work with other languages, and that the issue really comes down to developers using what exists today that best solves their problems. My interest in development personally is not so much developing an application, but developing frameworks within which applications can be done. And I'm more interested in the smaller scale (which is apparently not where Java and/or what comes with it today) shines best (confirmed by so many references to enterprise class applications being far too difficult in anything else).
I think there is an assumption that any web development that is not based on Java
and its web development environment is instead based on mod_perl, mod_php, or CGI.
To the extent that may be true it is due to what has been developed, as opposed to what could be developed.
I believe that the framework could be done in most languages.
Somewhere along the way, that didn't happen until Java came around.
But why?
Is it because those who would think of it were not inspired to do so until they saw Java?
And if that is the case, what is it about Java that inspired them?
Obviously it is not OO concepts alone because C++ would have inspired them if it were.
Is it because Java is a clean OO language?
Why not Smalltalk?
Is it because all this was really promoted and pushed by SUN?
I tend to think this is the answer.
That does not mean that it is bad, but it does tell me that the scale of acceptance is not telling of the capabilities.
I want to see the capabilities stand on their own.
It's like why people choose to buy some widget.
The salesman tries to tell me that I should choose to buy the widget because a million other people have.
What I want to know is why those million other people did, and of those who did make a wise decision to
do so (if any) what knowledge and information did they use to make that decision
that this salesman is not willing to tell me in favor of claiming the million buyers.
I don't want to choose Java or Tomcat because everyone does.
I want to choose it because there's something good about it,
and I want to especially know if that can't exist in something else (even if it doesn't, yet).
And this is required before learning it.
Of course I could simply presume it must be good, spend the time to learn it, then determine if it really is or not.
But by then, I've spent more time learning, less time developing, and looking at a full plate of projects I know have
to decide whether to go ahead and use something new I've learned which is most certainly better than what I had before,
even though it might not be as good as what could be (if framework developers had been inspired earlier).
Then I'd end up being "one of those who use it" and counted among the millions,
even if I might have not made the choice if I had know what I needed to know to make a wise choice (for my needs).
I worry that the popularity is not 100% from people who found out what it really does for them and then decided.
I do agree that CGI (it's an interface, not really a protocol) is bad.
It's a useful hack for small things and I've used it a lot.
I've used it enough to know I want something better.
And I am working on the design of something better.
It is a template engine based on modules.
It can be done object oriented, but it doesn't have to be.
It can use strictly modules, or it can do other things, even shell scripts
(if you want to, but then it starts to look like CGI again... but at least the choice exists).
I'm also designing it for a smaller scale than "enterprise class" applications.
In that sense it would not be competing with Tomcat or J2EE or JSP or whatever.
Development on the scale of one person-day projects could use this over CGI.
People point to Java for "enterprise class" purposes.
But I don't know that what is good for that scale is necessarily good, in whole,
on the smaller scale.
But if there are parts that are good, they should be used.
Now the question is, can they be used on their own.
To the extent my project will use those parts, we will see.
Take the Java language out of the picture for a moment. Plug some other object oriented language in. If history had resulted in a different language than Java, but all the web application framework and tools had been developed, would we have all the benefits we have today?
Obviously you think I have some kind of attitude because you expressed that. But I think you have simply mis-interpreted what I did ask, and still am asking. I'm not saying Java and all that comes with it is bad. I'm trying to isolate what benefits come from the various pieces, and what benefits come from the synergy, and what synergy is dependent on the various pieces. All of the literature I have read about Java as a web development environment simply doesn't address that. It probably doesn't because the people promoting Java either think it is utterly clear to everyone (it is a common human trait for people to think that what is obvious to them is obvious to everyone, even though it is not generally true), or else they think that understanding this about it is just unimportant (i.e. that everyone should take it on faith that all this is good because they say so).
Of course an application scaled up to the level which does require a hundred developers has very different needs than one that can be done by one or two people. I want to hear someone say just what they think the whole Java based web development system is good for... where is the threshold? Not all applications are enterprise scale, yet many Java promoters are coming across as saying that it is best for everything, and when they also say "enterprise class" it sounds like they think everything fits that description.
And yes, I have seen, and participated in development of one part of, a application of this scale. There were over 250 developers involved (most of whom I never met or even communicated with... that was the job of the project managers). BTW, it was all done in C at the time, and when I left that company, they were starting to work on a transition to C++. I can believe they have switched (or are in the process of doing so) to Java by now. Their particular application requires continuous development because it involves a continuously changing business process.
FWIW, I found ASP to be horrendously complex, too.
As far as learning it before bitching... you're misinterpreted what I'm doing.
People say this stuff is specifically good and point to the whole thing, then say it is good because of one part of it.
For example, the argument goes that one should do their web site in Java.
But that suggests that all the benefit is from the Java language.
What they really mean to say is that choosing Java and all that comes with it, including the API, JSP, and implementations like Tomcat and Velocity, are the benefit.
What I'm trying to get pinned down is exactly what parts contribute what benefit, and identify what parts can be plugged in elsewhere. And also to pin down where the synergy between the parts exists.
I want to determine, for example, if the Java language is better than the C++ language (or Perl, or PHP, or C) because of all that comes with it, as opposed to the language itself.
BTW, the idea of requiring someone to learn everything before being eligible to criticize it (which I don't feel I'm doing, yet... I'm really trying to isolate what could be of benefit even if it were separated from the other stuff) is a cop-out. Have you really learned C... I mean really learned it, including all the APIs that everyone has developed to make it much more powerful than even K&R could imagine? Have you really learned all the Perl modules out there? And have you learned everything in all the Java APIs?
What you're asking is not practical. No one can learn it all. And choices have to be made well before one has a chance to learn it. One has to choose what to learn and they have to determine what is best for them to make that choice wisely. I think that those who do learn all about one thing and understand it well should be able to explain it clearly to someone who has not learned it all, so that they may make the wise judgement whether it is something they ought to pursue learning. In my case, I want to know why all the environment that surrounds Java (not the language itself, or even its basic API) is something I should pursue. Someone telling me it worked out great for them is not telling me it will work out great for me.
Hm...
how do you call a perl class from a C program?
How do you call a C++ class from a perl program?
How do you call a perl class from a Java program?
How do you call a C++ class from a Java program?
A JAVA class is a JAVA class, regadless wether used in an applet on a browser or in a servlet in a web server(servlet engine) or as a bean etc.
Thats called 'code reuse'.
I know what code reuse is.
Be careful, you could be coming across as talking down to people just because they don't see things the same way you do.
In general code reuse inside of the same language is more painless than code reuse across language barriers.
So?
So, use the tools in the given language.
Of course Java will be a good choice because there exists the Java API.
But I want to know why this means that the system should restrict one to Java exclusively,
as opposed to one that allows a choice for each kind of logic element.
If one page or portion of a page is more easily produced by Perl, why should this not be allowed?
Picking C++ for the moment in order to specifically avoid the OO issue,
since I am addressing the issue of the usability of the API space,
why is it that all this effort to produce a Java API never materialized before Java existed
to produce a better API for C++?
The C language has very often been said to be a poor language for many reasons,
and one of them is the lack of a vast API.
Well, I'll argue that the reason for that is not the language itself,
but because people simply wouldn't open their editor and start building one.
I, OTOH, do that.
I write a lot of code in C, and I write lots of reusable code in the form of a new API: my own library.
Don't argue that it is not standard; it could be (or another API could be) if enough people had gotten involved.
My point is that almost any language could have a great API if those who value the API would have come
forward and actually helped build it.
I'll point to the vast set of Perl modules as an example of just such an effort.
People argue Perl is a great language because of all those modules.
Instead I argue that Perl is a great choice despite being a lousy language, because of all those modules.
Java is certainly a great language, and a great choice for what comes with it,
but that the two concepts are not limited to each other.
Regarding one of your other questions/posts: no, a java application running on a webserver using CGI is not a servlet.
Someone else in another part of this subthread said it was.
I was looking for confirmation or denial.
I'm more ready to believe your denial.
Thanks.
A servlet is a JAVA class which implements a certain interface or is derived from a base class implementing that interface.
And what if this kind of interface or base class is built in a different language system other than Java?
Does that somehow negate the advantage that the interface would have in producing a servlet?
In other words, I'm asking how is it that Java the language can claim to be the only way to have a servlet
even if another language has implemented the same (identical, or functionally similar for example) interface?
A Servlet Engine provides runtime contexts to such a class, just like the CGI interface of Apache feeds request paramters into a CGI script a Servlet Engine descides which class to load (mapped on a URL) and instanciate and prepars the request by parsing the HTTP header and preparing parameters for the servlet.
So why is it called a servlet engine as opposed to a web service engine?
Why can't these things be implemented in another language and its interfaces?
Anyway if your server is a SUN ET 10000 with >10000 served users simultaniously, JAVA is the easyer to manage technology.
And why is that so?
What I want to know is if this is due to the Java language, or the Java API, or the Java Servlet Engine, or what.
One confusing term here is "simultaneously".
How do we define this?
Is it simultaneous when there are 9999 other request connections active while the first one is still having its content
being sent to it?
If that were the case, I'd focus on trying to find a way to deliver content faster so that the degree of concurrency
is reduced.
Is it simultaneous when there are 9999 other people in a "session" (another term to define) even though the machine
may at the moment not be serving any connections at all because everyone is reading the document they have in front
of them before taking the next step which would make a new request?
Why a SUN ET 10000?
Sometimes I wonder if SUN made Java the way they did in order to sell larger machines.
I prefer to scale up with eggs spread over more baskets instead of all my eggs in one giant basket.
I tested this with both Netscape 3 and Netscape 4. With NS3 I got 2 pop-up ads. I also got the notice. Funny that things worked, but they thought they didn't. With NS4 I did not get the pop-up ads, but I did get a normal page.
This software does not work very well.
Normal advertising on TV, on the radio, in newspapers, in magazines, on billboards, and to an extent even advertising delivered to you by the postman, are what is called impression advertising. You see it, you ignore it, you see it again, you ignore it again, you see it yet another time, and eventually you may end up buying it. You buy it because when you go to the store and are faced with several brands, you more likely pick the familiar brand.
Advertisers hate impression advertising. This is especially so if they are a separate entity from the product or service to be sold. They don't know if the advertising is working short of measuring sales results. And sales results are usually lagged from the ad campaigns. If there is more than one campaign, it is unclear which is working.
Advertisers use many techniques to try to not just drive sales, but also drive sales statistics that prove (or disprove) a particular method or media of advertising. Coupons can be tracked to the media they were printed and delivered in. Telemarketing often pitches immediate response. This is the holy grail of marketing; to know what advertising works so they can do more of that and less of what does not. If this requires knowing what TV shows you watch, what radio you listen to, what newspaper you read, or even what roadways you drive on, so be it. That's information they want to know so they can deliver yet more advertising, impress you even more, and spend less doing so.
The internet was supposed to be the diamond mine of advertising, not so much because there's more people to be impressed, and more ads can be delivered, but rather, because collecting the statistics on what works and what doesn't was supposed to be so easy. But this assumption was faulty. It assumed people would react immediately because now they can. With TV or radio or newspaper, you cannot react quickly. The cuecat was supposed to be a means to collect this data in other media by using the internet as a feedback mechanism. But in reality, people don't react immediately. They didn't before. But advertisers were assuming that was because there was no means to react immediately. They thought with the internet now they can, and they will. Wrong.
With the internet, people are more focused then with most other media. They may be impressed by frequent ads that establish brand recognition in the classic sense, even in this new media, but people generally don't react immediately. And the reason is simple; they have another goal right now, and that's whatever brought them to the internet and to the web site at that moment. Few people will stray from the path.
As a result, ads seem to be failing. They are failing to deliver the misguided expectations of getting an immediate response which can be tracked better. Ads on web pages do work, but only in the classic impression sense. They may not be working as well as in other media, but they are working. However, the perception is they are failing. The holy grail was found to contain poison, but the quest goes on. So we get more intrusive ads trying to get that immediate reaction. Even if we don't buy right now, just clicking on the ad to prove we saw it is what the advertisers want so they can show data to the company that actually has the product or service to prove their ad campaign works.
Of course bad advertising fails. But in this new media, advertisers are not recognizing it. Or maybe they are and maybe it is the case that as ads become more intrusive, people are blocking them more, and that is a failure. The trouble is, advertisers don't see it as a failure of a campaign, but as a failure of acquiring the data. So they try harder. So we get escalation and things like anti-ad-blocker software. But as long as advertisers fail to wise up as to why people are blocking the ads, this will only escalate, and hurt them (and us, too).
I was not blocking normal banner ads. I do block annoying ads. When ads come from particular places that are annoying or clearly trying to track me, like hitbox.com, then I block them. If the ad-block defeat is only used for non-annoying ads, I won't mind. It won't have any effect on me. If you want to show me an ad so I can get my free beer, fine. But if you want to slap me in the face to get a free beer, I'm gonna duck. I'd rather just buy the beer.
If the ads are being blocked, the annoying ones are being blocked, too. So that's not the reason they go to more annoying. The real reason is they want more immediate responses. Maybe you should read my other comment on this story.
Well then stop the annoying crap and do normal banner ads. Use the anti-blocking on normal ads and see if that works. And don't expect immediate click throughs, because that's just not going to be where the true results are.
While I'm typing this in, I'm reading the this ad for Think Geek. See, I don't block banner ads. But sometimes I am tempted to when I see ads like this one.
The kinds of ads I want to block are the obtrusive ones. Pop-ups, pop-unders, monster-box, and jump-through ads are NOT designed that way to get around blocking software. If the software was working, they too would be blocked. Instead, what they are designed to do is get people to SEE them when they are otherwise busy. TV is a passive medium. Sure, sometimes people take a bathroom break, or run to the frig, during the commercials. Yet free TV is surviving, even with competition from more networks, all the channels you can get on cable, and of course the internet. So the ads must be working since the TV stations and networks are still on the air. That's because TV is mostly passive, and enough people are too lazy to get off the couch when the commercials do come on, that ads do make impressions. You can't click on them, but eventually they effect your thoughts, and your buying patterns. It's not instant gratification for the advertisers, but it's working, and working well.
The internet is different. People are focused when they get online (else they'd plop back down on the couch and watch TV). They have some idea what they want from the internet and try to get it. Advertising on the internet has to compete with whatever it is the user is focused on. There's no time out to get their attention. People don't click through very often because that diverts them from their goal. Maybe if there was a one-click way to save an ad and come back to it later when you are ready for it, more people might. I know I would. It probably wouldn't be enough.
But advertisers weren't expecting the same results the get from TV to come from the internet. They were expecting more. For decades advertisers wanted some way to get a faster and more accurate check on how well ads work. When the internet came along, they saw it as a gold mine, but not for making subconscious psychological impressions on our buying habits, but rather, to track us, count us, and know what works to influence us and what doesn't. This is the big reason they started with click-throughs ... to count how many people saw the ad and showed some interest. Auditing was an auxiliary advantage.
But people also resist. And as I said before, they are focused on something else. The kind of feedback the advertisers want is too quick to get a valid response. Just this morning I saw an ad for a product from IBM that piqued my interest. But I didn't click on the ad, because I was still looking for something else. About 20 minutes later I went over to IBM to find out more. But I just typed the domain and went direct. So some web site didn't get a fraction of a penny all because the model is wrong.
And now we have intrusive ads. They try harder and harder to get us to react ... and react RIGHT NOW. And it's not really so much because they can't wait 20 minutes to sell us something, but rather because the immediacy is the only way to measure us, track us, and count us. If they have to wait 20 minutes for me to type in a web site name and visit them, they have no idea which ad campaign brought me in. The internet seemed like this was just the thing to do this, but they also forgot about some things, including the fact that people are going to be (often intensely) focused when online. So ultimately it doesn't work very well, and they are still trying to beat this dead horse.
And intrusive ads are annoying. They do divert people when they want to be focused, and people get pissed off. This is why I believe most people are tempted to start blocking ads. The more intrusive they get, the more people will want to block them, either to avoid the annoyance, or to protect their privacy (more collateral damage). Michael was right on the mark for the title for this Slashdot article. It is a war, and it is escalating.
Impression ads do work on the internet. They may not work quite as well as on TV or radio, but when well done, people will remember things they have seen. If advertisers would just give up the misguided quest for the holy grail of immediate tracking data, maybe they could get some advertising that really brings interested and paying customers ... eventually.
If it would help them get a real database, I'd be glad to pay for reading slashdot, too.
While most of the banner ads are not annoying to me, even if animated, there is one that is. That one is the PlanetHardDrive.com ad. Maybe it's just me, but that sudden brief white flash prevents me from being able to read the page. Fortunately I can just reload or scroll it up off the edge. But I won't be going to that advertiser's web site under the assumption they are the ones who made the ad. If CmdrTaco or whoever wants to tell me different, please do.
I don't ban ads for the sake of eliminating banner ads. Normally they don't bother me and I know they support the web sites I view. But I do block a few ad sources due to things like extreme annoyances or web bugs. Don't make me have to do this to Slashdot, because I prefer to keep supporting it.
I use Linux and BSD almost exclusively. Occaisionally I will use Windows. One of the reasons for using Windows is VISIO. It accounts for over half of my Windows time (which is not a whole lot, and the Windows drive in its little sled sits in a drawer most of the time). Xfig is, unfortunately, essentially worthless. And it's not about the pictures. It's about things like the ability to modify the drawings in a fully connected object oriented way. Xfig can't cut it. Since you don't do drawings, this is probably why you don't know. Maybe you should try and see if it works under VMWARE. I'm all for free software, but there's nothing in the free realm that comes close to the usefulness ov VISIO. I wish there was an alternative w/o having to buy an even more expensive CAD program.
VISIO can export to a number of formats like BMP and GIF. You lose a lot in the export, but if all you know is Xfig, it's probably not much you've seen before. Next time, ask anyone sending you a drawing to export it from VISIO into an image format like BMP or GIF.
I like the idea. Set me up with a free account on your ad-free server and I'll start creating content which is ad-free. I'll need mod-php, access to mysql or postgresql, and about 4 gig of space for now. Man, people are just gonna love you. Your idea r00lz!
I don't have to click on TV ads. If the ad tells me about 99 cent pizzas down at Bubba's Pizzeria, I might well remember that and may go down there ... tomorrow. And that would be the same on TV, radio, newspaper, or the web. It's called an impression ad. Of course the problem is that there's no simple way to track which ad you saw. The advertiser may have many ad campaigns, notice an increase in customers, but can't tell which one is effective. The web was supposed to provide this. But that only works for ads for which click through is effective. If the ad says "99 cent pizzas at Bubba's" I'll remember that if it's important, but if it says "Click here to find out where to get 99 cent pizzas" I won't, because I'm busy right now. What advertisers thought they could get out of the web (perfect tracking) is not the reality it seems to be. I sure as hell am not going to click on an ad that says "find out what softdrink is better than Pepsi" just to find out the opinion of the Coke marketing department, or visa-versa. Most conventional consumer products aren't the kinds of things you click on, and for those few that are, many people won't anyway.
Click through ads pay premium. Impression-only ads pay far less. Maybe web content providers will just have to end up accepting advertising TV style and deal with impression-only.
Perhaps so. But I don't care to be giving my money to something that is also going to be a whore to corporate demands. If individual donationes are low, then they have to decide whether to find a way to encourage more individuals to donate, or to encourage those who do donate to give more, or scale down to the level that can be supported by what they do get, or give up all those individual donations that wanted to support something non-commercial (like me).
I remember when there was a pledge week once a year. Now we have a pledge month once a quarter. That's not what I want to encourage.
I don't know that I am holding more money than the corporations. I do know that I am in effect "negotiating" by holding my money and not giving it to them. I (and all the others like me) may not have as much as the corporations, but I really can't change that, either. The PBS stations (and equivalently the public colleges) have to decide if they want to accept or decline money on principle, or be whores to whoever has the most. I want to be donating to the principle.
PBS went commercial many years ago, and my donations, and volunteering, ended. If they are getting money from big corporations, then they don't need mine.
I think the same thing applies to colleges. If they are going to go get money from other sources, then IMHO, they don't need as much from the government in the next budget cycle.
You mean you didn't try to corner 30% of the national web development market, get hundreds of millions of dollars of venture capital and IPO funding, and overexpand yourself aiming for 30% when only 0.5% was the practical limit in a market with thousands of developer companies? You mean you didn't end up being a dot-com-bomb like the others who wanted to become billionaires and ended up being thousandaires?
At the same time there are lots of people who do know the stuff who are out of work. The problem is hooking truly good people up with truly good jobs ... while keeping a high signal to noise ratio. Big job boards really only have a fraction of the jobs available (and stuffy boring jobs no one wants so the employers have to hire expensive recruiters to find some shmuck to take it). Looking on the "careers" section of all the companies isn't really practical, either, given so many of them around (and most with nothing listed right now). Lots of advice given to job seekers doesn't take into consideration that it isn't practical given then scarcity of jobs today.
The question is thus, how to connect up the good people to the good jobs. If someone creates a new job board, will they come (even if it's free to post jobs)?
H1B amounts to "slave labor". The workers can't risk losing their jobs for fear of being deported, so they will take whatever crap the employer forces on them, and the employers know it, so this dish it out thick.
H1B workers can't very easily change jobs, because the new employer has to already be willing to do the government paperwork to hire an H1B. The market for job hopping (which would help prevent abuses by employers) is pretty much closed to H1B workers.
H1B workers are underpaid for their jobs because the H1B job only requires they be paid at least the average pay for the job classification, and the government classifies all software engineering into one single job with one average. Since that average takes into account all the really lame programming work, too, it's a lot lower than what a really good programmer would and should make.
H1B workers hurt the US economy because they buy less here with what little money they do make (on average). Many send all their excess back home (because they aren't planning to stay), or save it up and take it back when they finally leave (even if they'd have preferred to stay and become citizens).
I say the H1B program should be dumped. Those who want to leave, go back home. Those who want to stay should be given permanent resident status (and they are welcome in our country) and be free go find a better job than the one they are stuck in. That is what a free market really is.
Reminds me of a friend who told me the story about two Ph.D candidates in EE (the friend was working on his masters in that department) with their disserations just about done, trying to connect up a circuit in a small device they were working on. They had a very hot soldering iron working, but they couldn't figure out why the wires weren't melting. Seems the only meaning they had ever leared for the term "solder" was that was the name of the hot iron to melt the wires together with. I sure would have loved to see what their disserations were about ... I always like good humor.
People with experience aren't finding it any better. Too much experience and you're too expensive. But mostly the problem is projects shelved or canceled, usually due to lack of funding because upper level management of 20 companies competing for one market each figured they could get between 25% to 40% of that market in a couple years. Yeah right! My next business model is selling MBA degrees on a roll about 4.5 inches wide.
The small companies doing the interesting stuff don't advertise job openings on the big job boards (mostly, there are occaisional exceptions). Basically the job finding (and from the point of view of employer, the people finding) process is what is flawed. The big job boards are 95% jobs that are handled by recruiters, who spend about 1/4 of the space promoting how great their job placement company is. Most of those jobs are stuff big corporate jobs for small peons, and lately at pay levels unrelated to the skills and experience people really bring to the job (because they decide in advance what the pay is, and try to find someone that will take it ... which works in this market right now).
I'd like to see a job board set up that's restricted to just really cool jobs. It would have fewer recruiters because they have few cool jobs, but it shouldn't restrict them. And it would be important for the search on it to be smart. On the major boards, if I search on a keyword like "unix" it matches up ever jobs for Windows NT programmers that say "some exposure to unix would be helpful", but that's not what I put the search term in to find. And there needs to be as much focus on what kind of job is involved (the role, what the work is) as the skills. Just because I listed skills in programming a few languages doesn't mean I actually want a job doing programming all day long (hey, many admins can code, too, but maybe they don't want to do it all day long).
Such a job board MUST be free for not only job seekers, but also employers. Companies are faced with many boards to post on, and when there are costs involved (usually a few hundred dollars), they simply cannot post on them all (and many small companies can't even post on any). Revenue to support it should come from impression advertising and highlighting extras (for those companies that do want to pay something to make their posting stand out).
So the persistence is for the purpose of avoiding startup costs, as opposed to having session state ready without having to access a database? I'm a bit surprised that performance and cost are considered so important. But maybe they are thinking, or hoping, that Java will soon achieve C speeds. I know I'd like to have that, which is why I am looking forward to development in areas like GCJ that can let me compile directly to my host instruction set.
Yeah, there was "FastCGI". I tried it, but found it to be too full of problems. Personally I'd rather use C for things that need a lot of CPU performance (for example generating images dynamically) or Java for complex logic that doesn't really demand a whole lot of CPU time. C for the grunt work and Java for the think work. Does that make sense?
BTW, one of the things I'm considering doing in the design I'm working on is session persistence. That is, a process will persist for some time after each request, and when a new request comes in, the first thing the engine does is find the process for the session indicated by the cookie or wherever the session ID is passed, and pass the connection to it (perhaps to be implemented with named pipes and socket file descriptor passing). This process would then "resume" to handle the new request as a continuation of the session. The session state would still be in the variables that process holds. It would then save it's state somewhere at some time after the last request and could exit any time after that.
<flameshields>
People who program in VB are not real programmers.
</flameshields>
Now if they are switching over to Java, they may really be learning to program for real. But be careful. The easier some language is supposed to make things, the more likely it is that those who don't so so well will be able to at least do something. Thus the IQ level of programmers who use UltraEZlang++ are likely to be lower than TuffLuvLang--. The question is, which is VB and which is Java? And are these new Java converts going to end up switching again to something where they end up cutting cut on the sharp edges?
A good introduction to the concepts behind template engines can be found at Servlets.com, along with its followup article.
I'd like to take a look at these documents. Unfortunately the site has been down since yesterday. Do you know when it might be back or where a mirror would be?
Those concepts are good ones, even on a smaller scale. But they are not exclusive to Java. Despite the fact that I believe Java is a good language (and perhaps the one I have been holding out for instead of going with C++), I want to know exactly what concepts can't work with any other language, and what concepts can. I believe they all can work with other languages, and that the issue really comes down to developers using what exists today that best solves their problems. My interest in development personally is not so much developing an application, but developing frameworks within which applications can be done. And I'm more interested in the smaller scale (which is apparently not where Java and/or what comes with it today) shines best (confirmed by so many references to enterprise class applications being far too difficult in anything else).
I think there is an assumption that any web development that is not based on Java and its web development environment is instead based on mod_perl, mod_php, or CGI. To the extent that may be true it is due to what has been developed, as opposed to what could be developed. I believe that the framework could be done in most languages. Somewhere along the way, that didn't happen until Java came around. But why? Is it because those who would think of it were not inspired to do so until they saw Java? And if that is the case, what is it about Java that inspired them? Obviously it is not OO concepts alone because C++ would have inspired them if it were. Is it because Java is a clean OO language? Why not Smalltalk? Is it because all this was really promoted and pushed by SUN? I tend to think this is the answer. That does not mean that it is bad, but it does tell me that the scale of acceptance is not telling of the capabilities. I want to see the capabilities stand on their own. It's like why people choose to buy some widget. The salesman tries to tell me that I should choose to buy the widget because a million other people have. What I want to know is why those million other people did, and of those who did make a wise decision to do so (if any) what knowledge and information did they use to make that decision that this salesman is not willing to tell me in favor of claiming the million buyers.
I don't want to choose Java or Tomcat because everyone does. I want to choose it because there's something good about it, and I want to especially know if that can't exist in something else (even if it doesn't, yet). And this is required before learning it. Of course I could simply presume it must be good, spend the time to learn it, then determine if it really is or not. But by then, I've spent more time learning, less time developing, and looking at a full plate of projects I know have to decide whether to go ahead and use something new I've learned which is most certainly better than what I had before, even though it might not be as good as what could be (if framework developers had been inspired earlier). Then I'd end up being "one of those who use it" and counted among the millions, even if I might have not made the choice if I had know what I needed to know to make a wise choice (for my needs). I worry that the popularity is not 100% from people who found out what it really does for them and then decided.
I do agree that CGI (it's an interface, not really a protocol) is bad. It's a useful hack for small things and I've used it a lot. I've used it enough to know I want something better. And I am working on the design of something better. It is a template engine based on modules. It can be done object oriented, but it doesn't have to be. It can use strictly modules, or it can do other things, even shell scripts (if you want to, but then it starts to look like CGI again ... but at least the choice exists).
I'm also designing it for a smaller scale than "enterprise class" applications.
In that sense it would not be competing with Tomcat or J2EE or JSP or whatever.
Development on the scale of one person-day projects could use this over CGI.
People point to Java for "enterprise class" purposes.
But I don't know that what is good for that scale is necessarily good, in whole,
on the smaller scale.
But if there are parts that are good, they should be used.
Now the question is, can they be used on their own.
To the extent my project will use those parts, we will see.
Take the Java language out of the picture for a moment. Plug some other object oriented language in. If history had resulted in a different language than Java, but all the web application framework and tools had been developed, would we have all the benefits we have today?
Obviously you think I have some kind of attitude because you expressed that. But I think you have simply mis-interpreted what I did ask, and still am asking. I'm not saying Java and all that comes with it is bad. I'm trying to isolate what benefits come from the various pieces, and what benefits come from the synergy, and what synergy is dependent on the various pieces. All of the literature I have read about Java as a web development environment simply doesn't address that. It probably doesn't because the people promoting Java either think it is utterly clear to everyone (it is a common human trait for people to think that what is obvious to them is obvious to everyone, even though it is not generally true), or else they think that understanding this about it is just unimportant (i.e. that everyone should take it on faith that all this is good because they say so).
Of course an application scaled up to the level which does require a hundred developers has very different needs than one that can be done by one or two people. I want to hear someone say just what they think the whole Java based web development system is good for ... where is the threshold? Not all applications are enterprise scale, yet many Java promoters are coming across as saying that it is best for everything, and when they also say "enterprise class" it sounds like they think everything fits that description.
And yes, I have seen, and participated in development of one part of, a application of this scale. There were over 250 developers involved (most of whom I never met or even communicated with ... that was the job of the project managers). BTW, it was all done in C at the time, and when I left that company, they were starting to work on a transition to C++. I can believe they have switched (or are in the process of doing so) to Java by now. Their particular application requires continuous development because it involves a continuously changing business process.
FWIW, I found ASP to be horrendously complex, too.
As far as learning it before bitching... you're misinterpreted what I'm doing. People say this stuff is specifically good and point to the whole thing, then say it is good because of one part of it. For example, the argument goes that one should do their web site in Java. But that suggests that all the benefit is from the Java language. What they really mean to say is that choosing Java and all that comes with it, including the API, JSP, and implementations like Tomcat and Velocity, are the benefit. What I'm trying to get pinned down is exactly what parts contribute what benefit, and identify what parts can be plugged in elsewhere. And also to pin down where the synergy between the parts exists. I want to determine, for example, if the Java language is better than the C++ language (or Perl, or PHP, or C) because of all that comes with it, as opposed to the language itself.
BTW, the idea of requiring someone to learn everything before being eligible to criticize it (which I don't feel I'm doing, yet ... I'm really trying to isolate what could be of benefit even if it were separated from the other stuff) is a cop-out. Have you really learned C ... I mean really learned it, including all the APIs that everyone has developed to make it much more powerful than even K&R could imagine? Have you really learned all the Perl modules out there? And have you learned everything in all the Java APIs?
What you're asking is not practical. No one can learn it all. And choices have to be made well before one has a chance to learn it. One has to choose what to learn and they have to determine what is best for them to make that choice wisely. I think that those who do learn all about one thing and understand it well should be able to explain it clearly to someone who has not learned it all, so that they may make the wise judgement whether it is something they ought to pursue learning. In my case, I want to know why all the environment that surrounds Java (not the language itself, or even its basic API) is something I should pursue. Someone telling me it worked out great for them is not telling me it will work out great for me.
Hm ...
how do you call a perl class from a C program?
How do you call a C++ class from a perl program?
How do you call a perl class from a Java program?
How do you call a C++ class from a Java program?
A JAVA class is a JAVA class, regadless wether used in an applet on a browser or in a servlet in a web server(servlet engine) or as a bean etc.
Thats called 'code reuse'.
I know what code reuse is. Be careful, you could be coming across as talking down to people just because they don't see things the same way you do.
In general code reuse inside of the same language is more painless than code reuse across language barriers.
So?
So, use the tools in the given language. Of course Java will be a good choice because there exists the Java API. But I want to know why this means that the system should restrict one to Java exclusively, as opposed to one that allows a choice for each kind of logic element. If one page or portion of a page is more easily produced by Perl, why should this not be allowed?
Picking C++ for the moment in order to specifically avoid the OO issue, since I am addressing the issue of the usability of the API space, why is it that all this effort to produce a Java API never materialized before Java existed to produce a better API for C++? The C language has very often been said to be a poor language for many reasons, and one of them is the lack of a vast API. Well, I'll argue that the reason for that is not the language itself, but because people simply wouldn't open their editor and start building one.
I, OTOH, do that. I write a lot of code in C, and I write lots of reusable code in the form of a new API: my own library. Don't argue that it is not standard; it could be (or another API could be) if enough people had gotten involved. My point is that almost any language could have a great API if those who value the API would have come forward and actually helped build it. I'll point to the vast set of Perl modules as an example of just such an effort. People argue Perl is a great language because of all those modules. Instead I argue that Perl is a great choice despite being a lousy language, because of all those modules. Java is certainly a great language, and a great choice for what comes with it, but that the two concepts are not limited to each other.
Regarding one of your other questions/posts: no, a java application running on a webserver using CGI is not a servlet.
Someone else in another part of this subthread said it was. I was looking for confirmation or denial. I'm more ready to believe your denial. Thanks.
A servlet is a JAVA class which implements a certain interface or is derived from a base class implementing that interface.
And what if this kind of interface or base class is built in a different language system other than Java? Does that somehow negate the advantage that the interface would have in producing a servlet? In other words, I'm asking how is it that Java the language can claim to be the only way to have a servlet even if another language has implemented the same (identical, or functionally similar for example) interface?
A Servlet Engine provides runtime contexts to such a class, just like the CGI interface of Apache feeds request paramters into a CGI script a Servlet Engine descides which class to load (mapped on a URL) and instanciate and prepars the request by parsing the HTTP header and preparing parameters for the servlet.
So why is it called a servlet engine as opposed to a web service engine? Why can't these things be implemented in another language and its interfaces?
Anyway if your server is a SUN ET 10000 with >10000 served users simultaniously, JAVA is the easyer to manage technology.
And why is that so? What I want to know is if this is due to the Java language, or the Java API, or the Java Servlet Engine, or what.
One confusing term here is "simultaneously". How do we define this? Is it simultaneous when there are 9999 other request connections active while the first one is still having its content being sent to it? If that were the case, I'd focus on trying to find a way to deliver content faster so that the degree of concurrency is reduced. Is it simultaneous when there are 9999 other people in a "session" (another term to define) even though the machine may at the moment not be serving any connections at all because everyone is reading the document they have in front of them before taking the next step which would make a new request?
Why a SUN ET 10000? Sometimes I wonder if SUN made Java the way they did in order to sell larger machines. I prefer to scale up with eggs spread over more baskets instead of all my eggs in one giant basket.