I agree... except that it doesn't respect screen
settings very well on Windows. About 15% of apps
written in Tcl don't work ok on my machine,
either the window doesn't fit on the screen (because it's 800 x 600) and the programmer forgot to add a scroll bar, or the text doesn't fit in the window (because it's large fonts), or I can't read the text, because it doesn't come out in large fonts. HTML has similar problems, particularly lots of stuff that doesn't fit into the designated frames and often the scroll bars are not present on the frames.
There are about 130 relatively plausible configurations of screen size and fonts under Windows. There are very few toolkits that will work well with all of those, and that's on just one platform. I know of someone who tested Delphi and VB against all the combinations and found that they each worked well with only about 90%.
Cross-platform that will handle all the variations on multiple machines and look good and make it possiblt to put a reasonable pantload of data on the screen regardless -- likely impossible.
A few years back, his standard spiel was about what cars would be like if automakers had improved them as much computer products had improved -- a gaxillion miles per gallon from a 29 cent car and all that. Why doesn't it work like that now?
Now, we do have cars that are the automakers' dream -- they really do know when the warranty has expired, and it is surely gonna cost us.
Re:Performance Critical
on
Hacker's Delight
·
· Score: 2, Informative
Do the math. As a first approximation, optimization of software running on a desktop machine has to save the users as much or more time than it takes the developer to produce and support the optimization. This means that if the statements you are optimizing will not be executed hundreds of millions of times, it's not worth worrying about. OTOH, if MS could shave one second off the start-up time for Word or IE, that would be worth tens of millions of dollars annually in additional productivity for the US economy overall.
They are CMM level 5. That's the best you can get. CNA hired them after getting nowhere with firms from Texas, Connecticut, France, England, etc. They believed that they would get the best results with them, not the cheapest. Operating in a market that competes on price (term life insurance), CNA wants to be like Wipro -- an efficient, no-nonsense, highly-automated, high-volume, low-priced supplier.
Over the past few decades, the life insurance business has lost nearly 10% of its companies and 3% of its headcount each year on account of corporate mergers, acquisitions, and consolidations. But the potential gains from technology and consolidation are harder to obtain now, so the headcount reduction will now be jobs shipped overseas, including software jobs. Most of the headcount for US insurance company 'home office' (ie neither sales nor claims work in the field) jobs will be offshore in about 10-15 years.
they are not obligated to distribute the custom source code to anyone
The drawback to use of GPL'd code like this in business is that if a firm pays a large sum to acquire custom (but GPL'd) source code, and if, through means unknown, a competitor happens to come to possess a copy of the same GPL'd code, the GPL apparently makes all copies legal, wherever they came from. Perhaps the company that paid for the code can sue or prosecute someone for distributing the code, but if they can't identify the person or can't produce sufficient evidence of the misappropriation, what recourse could they have under GPL? None (AFAIK). And they must live with having paid-for custom code in general circulation regardless. After all, whoever has received it, 2nd, 3rd, or nth hand, received it with a valid license (GPL) attached.
Pascal was strict. Borland broke the locks when they produced Turbo Pascal (20 years or so ago).
They put in an ABSOLUTE directive that let you make variables share storage, so that you could interpret the same memory in different ways. They put in fast variable length strings. They put in a MOVE intstruction so that you could flop arbitrary bytes around wherever you wanted to. They put in raw access to ports and memory addresses and interrupts and all the low memory data in DOS. With these changes, programmers loved Turbo Pascal, and it sold a many times more copies than anything else for programmers had ever sold.
Up until at least version 4, Microsoft's Visual Basic was distributed with some code that was written in Delphi.
I've seen two web services demos. One by a Borland guy using Delphi 6 when that was new (a little over a year ago IIRC) and
the other by an MS guy using C# about 2 months ago. The Borland guy put together things that worked and did it quickly and impressively. The MS master kept fooling with his own equipment, groping to figure out how to change the font so the audience could see the demo. He couldn't. The demos went downhill from there. He couldn't accomplish more than a third of diddly compared to the Borland guy.
They were among the best a decade ago. They put numerous competitors out of business with their high quality, good support, good performance, and fairly decent design. Last I fought with them, not quite so good. They had evidently turned over staff, had expanded product line, and had been somewhat outdone by some competitors. When I called them with a bug report that one of their components was just about worthless, they no longer said that they would fix things ASAP and that a fixed download would be out soon; they said that it's a bug and that I should try one of their other components that provided something similar. So, I'm not surprised that they are giving it up. There is a steady stream of Delphi products coming out of Russia that must make life miserable for anyone in this market in the US. But with Turbo Power's components as a starter and more eyes looking at the code, the Russians might now have serious competition again.
New programming languages have gained substantial market share quickly, which is not what anyone would have expected new languages to do, given the prominence of C and oncoming rush of C++ about ten years ago. I suppose that means that software is now a fashion industry, subject to sweeping and sudden changes of fashion. Both Java and C# have been very successful. It's now Java, C#, VB, and everything else. A year ago it was VB, C++, Java, and everything else. Most of the lesser languages (not in the top 4) are losing share very quickly. They will hang on in some places, but market share is withering, support will be not easily available, demise follows, etc. For examples, it looks like perl and python have peaked; Powerbuilder, tcl and smalltalk are disappearing; Ada, Eiffel, modula-anything, Fortran, and COBOL are fading back into the triassic period. Two languages, Delphi and SAS, although they have very small market share, seem to be bucking the trend by holding on to what share they have very well.
Ever tried to write a compiler in FORTRAN, for example?
The old Citran, Joss, Cal, or whatever time-sharing interpreted language was written in Fortran. (About 5k lines of Fortran II, I think) It was much better than its competitors of the day, ie Basic and Xtran.
Then, for the real fans of serious programmer cajones, consider this: Realia wrote their COBOL compiler in Realia COBOL, which was a take-no-prisoners, unmitigated, unextended, minimum standard COBOL, ie 1974 version more or less.
Yes, the percentage of new hires made by small
companies is high. But don't give the small companies too much credit. The percentage of employment in small companies is much lower, however, as those who work in small companies
tend to need to find work much more often.
The statistics look like this:
About 20% of private US employment is in companies with fewer than 20 employees, but about half of that is in firms so small that you have zero chance of getting hired unless you are a good friend or relative.
About 20% of private US employment is in firms with 20-99 employees.
About 15% of civilian US employment is in the government sector (Fed/State/Local).
That's not an accurate figure, either. In the US, most substantial governments and many large employers mandate that all jobs go through an open hiring process that does have most or all openings posted, published or advertised. These represent far more than 2% of jobs.
Small businesses do much more hiring by other means, but they also do far more than their pro-rata share of firings and closings, too. In recent times around here, you cannot advertise a job vacancy for a decent tech job without getting deluged with hundreds of applicants, and if you give a phone number, you are out of business for weeks answering calls. Small businesses can't stand this and find other ways to hire. Of course, the current employment situation for tech workers makes it very likely that anyone needing to hire a tech worker already knows well two or three very qualified candidates needing work. In this situation, building a network of casual acquaintances is less help than one might hope, because everyone not tied up by a formal hiring process is hiring close friends and relatives.
I have been looking at job openings closely for about three years now. I estimate that advertised tech job openings in my area fell about 75% between 6/2000 and 9/2001 and have fallen another 75% since then. Advertised pay rates are also way down. Find another career.
For example, Computerjobs.com job openings count for my area is down to around ten jobs from around 150, dice down to around 200 from around 1200 with a much larger percentage of duplicate postings, tech job openings at governments and large employers down about 90%, local classified advertising down about 90%.
Search engine searches don't give very good stats. For examples: Many search engines won't search for the # in C#, the ++ in C++; Ada is sometimes a language, sometimes requirements for accessibility for disabled people; most jobs that make dice or Monster are posted multiple times by multiple headhunters. The biggest employers are connected to the greatest number of headhunters and have their positions, using the most mainstream (ie MS) technologies, most widely reposted. Many job postings list languages that are not really part of the job. A large percentage of current postings for Pascal, Delphi, Ada, Cobol, Smalltalk, PL1, Fortran and other formerly popular languages are really for postings for jobs re-implementing systems from such languages into other now hotter languages.
You have hit the nail on the head. The ??? is the problem. The link or leap between knowledge and action is the hard part. Data mining can 'identify' 'profitable' and 'unprofitable' customers, but it can't tell you if your expense and profit allocations are right or if you should want to 'get rid' of 'unprofitable' customers or should want to try to turn them into profitable customers.
The classic data mining result is diapers and beer. People who buy beer at convenience stores are also likely to buy diapers. Great. Given that bit of intelligence, do we:
Put diapers and beer in close proximity so that people who buy diapers can easily pick up beer and vice versa, or
Put diapers and beer at opposite ends of the store so that people who buy both diapers and beer must travel through the store and have a chance to buy everything else?
The data seldom tell you what to do. Taking the data too seriously leads to treating customers like numbers, predictable statistical entities to be manipulated for profit's sake. This is not healthy for most businesses. Most of the important things that the data tell you, you could learn better by simply listening to customers respectfully.
Re:Patrolling the Border
on
Droning On
·
· Score: 2
If patrolling the border is a reason for buying these, it's a bill of goods. Along large stretches of the US-Mexican border, the US Border Patrol is told to sit on an X all day. They sit in patrol vehicles, but they are parked all day at fixed points marked along the road, and they are told NOT to patrol. Crossing the border in the many miles between the X's is easy. The powers that be want it that way. Every eight hours, a new officer is driven out to the X and sits in the car for eight hours.
Other legal concepts than 'derivative work' can be applied to limit closed-source exploitation of open source programs. If I write a program that needs a GPL library to run, that doesn't make my program a derivative work of the GPL library. But the GPL license on the library can still prohibit me from distributing the library with non-GPL code, derivative or otherwise. I'd have to tell my users to obtain the GPL library separately in some dynamically linkable form, tell them to install it, etc, etc. All that, along with fears of version mismatches, etc, would pretty well kill my application's chance of commercial success.
OCaml -- if you can do tail-recursive list processing instead of array processing, this is just about neck and neck with anything else. Arrays are slower.
Corman Lisp and MLton -- Other fast functional languages.
GNAT Ada -- Runs pretty close to C/C++ speed. Sometimes faster if the compiler can do expeditious compile-time optimizations.
The White House dirty tricks creeps who worked for Nixon and got caught at the Watergate were led by a bunch of USC boys who supported Nixon. These guys wanted to "RF" anyone who opposed Nixon. "RF" was the Caltech slang for pranks. The USC creeps were obviously suffering from Tech envy and got in over their heads in something they couldn't do right. Caltech men had stolen Tommy Trojan from the USC campus and penetrated security of girls dorms that had thwarted the USC students.
BTW, George Bush, Jr., now has a real Techer, ie confessed criminal Poindexter, working for him.
If someone proposed a law that said that the State should track the movements of your vehicle if you were driving with a gun in your car, that would be shot down by the NRA and 2nd Amendment radicals as unconstitutional usurpation and invasion of privacy of gun owners. But change it so that they the State will track your movements whether you have a gun in your car or not, and then it's just business as usual. Maybe we can get an exemption if we have a gun in our car.
It has come to the attention of many of the affluent SUV owners that low-income people and students and other undesirables drive economical cars and drive many miles on not much gasoline and are thus not paying their fair share of gasoline taxes and are thereby beating the system. Thus, the affluent want to change the system to tax miles instead of fuel. Nevermind that the fuel tax is easy and economical to collect. Never mind that road wear increases more than linearly with vehicle weight. Never mind that out-of-state vehicles will ride free. Never mind that dependence on foreign oil because of large vehicles is a huge problem for anyone trying to give the US a rational foreign policy. Let's just help the people with the money.
2. Crop circles occur only in countries with agricultural surpluses.
There are about 130 relatively plausible configurations of screen size and fonts under Windows. There are very few toolkits that will work well with all of those, and that's on just one platform. I know of someone who tested Delphi and VB against all the combinations and found that they each worked well with only about 90%. Cross-platform that will handle all the variations on multiple machines and look good and make it possiblt to put a reasonable pantload of data on the screen regardless -- likely impossible.
Now, we do have cars that are the automakers' dream -- they really do know when the warranty has expired, and it is surely gonna cost us.
Do the math. As a first approximation, optimization of software running on a desktop machine has to save the users as much or more time than it takes the developer to produce and support the optimization. This means that if the statements you are optimizing will not be executed hundreds of millions of times, it's not worth worrying about. OTOH, if MS could shave one second off the start-up time for Word or IE, that would be worth tens of millions of dollars annually in additional productivity for the US economy overall.
Over the past few decades, the life insurance business has lost nearly 10% of its companies and 3% of its headcount each year on account of corporate mergers, acquisitions, and consolidations. But the potential gains from technology and consolidation are harder to obtain now, so the headcount reduction will now be jobs shipped overseas, including software jobs. Most of the headcount for US insurance company 'home office' (ie neither sales nor claims work in the field) jobs will be offshore in about 10-15 years.
The drawback to use of GPL'd code like this in business is that if a firm pays a large sum to acquire custom (but GPL'd) source code, and if, through means unknown, a competitor happens to come to possess a copy of the same GPL'd code, the GPL apparently makes all copies legal, wherever they came from. Perhaps the company that paid for the code can sue or prosecute someone for distributing the code, but if they can't identify the person or can't produce sufficient evidence of the misappropriation, what recourse could they have under GPL? None (AFAIK). And they must live with having paid-for custom code in general circulation regardless. After all, whoever has received it, 2nd, 3rd, or nth hand, received it with a valid license (GPL) attached.
I wasn't trying to be flaming anyone. Sorry if you thought that.
Pascal was strict. Borland broke the locks when they produced Turbo Pascal (20 years or so ago). They put in an ABSOLUTE directive that let you make variables share storage, so that you could interpret the same memory in different ways. They put in fast variable length strings. They put in a MOVE intstruction so that you could flop arbitrary bytes around wherever you wanted to. They put in raw access to ports and memory addresses and interrupts and all the low memory data in DOS. With these changes, programmers loved Turbo Pascal, and it sold a many times more copies than anything else for programmers had ever sold.
According to this it was Roadmap.Exe.
No. I meant that VB4 came with one executable program that had been developed in Delphi. MS blamed this on a contractor.
Turbo Power web site says Mozilla license, v 1.1 will apply. Is that good enough?
I've seen two web services demos. One by a Borland guy using Delphi 6 when that was new (a little over a year ago IIRC) and the other by an MS guy using C# about 2 months ago. The Borland guy put together things that worked and did it quickly and impressively. The MS master kept fooling with his own equipment, groping to figure out how to change the font so the audience could see the demo. He couldn't. The demos went downhill from there. He couldn't accomplish more than a third of diddly compared to the Borland guy.
They were among the best a decade ago. They put numerous competitors out of business with their high quality, good support, good performance, and fairly decent design. Last I fought with them, not quite so good. They had evidently turned over staff, had expanded product line, and had been somewhat outdone by some competitors. When I called them with a bug report that one of their components was just about worthless, they no longer said that they would fix things ASAP and that a fixed download would be out soon; they said that it's a bug and that I should try one of their other components that provided something similar. So, I'm not surprised that they are giving it up. There is a steady stream of Delphi products coming out of Russia that must make life miserable for anyone in this market in the US. But with Turbo Power's components as a starter and more eyes looking at the code, the Russians might now have serious competition again.
New programming languages have gained substantial market share quickly, which is not what anyone would have expected new languages to do, given the prominence of C and oncoming rush of C++ about ten years ago. I suppose that means that software is now a fashion industry, subject to sweeping and sudden changes of fashion. Both Java and C# have been very successful. It's now Java, C#, VB, and everything else. A year ago it was VB, C++, Java, and everything else. Most of the lesser languages (not in the top 4) are losing share very quickly. They will hang on in some places, but market share is withering, support will be not easily available, demise follows, etc. For examples, it looks like perl and python have peaked; Powerbuilder, tcl and smalltalk are disappearing; Ada, Eiffel, modula-anything, Fortran, and COBOL are fading back into the triassic period. Two languages, Delphi and SAS, although they have very small market share, seem to be bucking the trend by holding on to what share they have very well.
The old Citran, Joss, Cal, or whatever time-sharing interpreted language was written in Fortran. (About 5k lines of Fortran II, I think) It was much better than its competitors of the day, ie Basic and Xtran.
Then, for the real fans of serious programmer cajones, consider this: Realia wrote their COBOL compiler in Realia COBOL, which was a take-no-prisoners, unmitigated, unextended, minimum standard COBOL, ie 1974 version more or less.
The statistics look like this:
That's not an accurate figure, either. In the US, most substantial governments and many large employers mandate that all jobs go through an open hiring process that does have most or all openings posted, published or advertised. These represent far more than 2% of jobs.
Small businesses do much more hiring by other means, but they also do far more than their pro-rata share of firings and closings, too. In recent times around here, you cannot advertise a job vacancy for a decent tech job without getting deluged with hundreds of applicants, and if you give a phone number, you are out of business for weeks answering calls. Small businesses can't stand this and find other ways to hire. Of course, the current employment situation for tech workers makes it very likely that anyone needing to hire a tech worker already knows well two or three very qualified candidates needing work. In this situation, building a network of casual acquaintances is less help than one might hope, because everyone not tied up by a formal hiring process is hiring close friends and relatives.
I have been looking at job openings closely for about three years now. I estimate that advertised tech job openings in my area fell about 75% between 6/2000 and 9/2001 and have fallen another 75% since then. Advertised pay rates are also way down. Find another career.
For example, Computerjobs.com job openings count for my area is down to around ten jobs from around 150, dice down to around 200 from around 1200 with a much larger percentage of duplicate postings, tech job openings at governments and large employers down about 90%, local classified advertising down about 90%.
Search engine searches don't give very good stats. For examples: Many search engines won't search for the # in C#, the ++ in C++; Ada is sometimes a language, sometimes requirements for accessibility for disabled people; most jobs that make dice or Monster are posted multiple times by multiple headhunters. The biggest employers are connected to the greatest number of headhunters and have their positions, using the most mainstream (ie MS) technologies, most widely reposted. Many job postings list languages that are not really part of the job. A large percentage of current postings for Pascal, Delphi, Ada, Cobol, Smalltalk, PL1, Fortran and other formerly popular languages are really for postings for jobs re-implementing systems from such languages into other now hotter languages.
The classic data mining result is diapers and beer. People who buy beer at convenience stores are also likely to buy diapers. Great. Given that bit of intelligence, do we:
- Put diapers and beer in close proximity so that people who buy diapers can easily pick up beer and vice versa, or
- Put diapers and beer at opposite ends of the store so that people who buy both diapers and beer must travel through the store and have a chance to buy everything else?
The data seldom tell you what to do. Taking the data too seriously leads to treating customers like numbers, predictable statistical entities to be manipulated for profit's sake. This is not healthy for most businesses. Most of the important things that the data tell you, you could learn better by simply listening to customers respectfully.If patrolling the border is a reason for buying these, it's a bill of goods. Along large stretches of the US-Mexican border, the US Border Patrol is told to sit on an X all day. They sit in patrol vehicles, but they are parked all day at fixed points marked along the road, and they are told NOT to patrol. Crossing the border in the many miles between the X's is easy. The powers that be want it that way. Every eight hours, a new officer is driven out to the X and sits in the car for eight hours.
Other legal concepts than 'derivative work' can be applied to limit closed-source exploitation of open source programs. If I write a program that needs a GPL library to run, that doesn't make my program a derivative work of the GPL library. But the GPL license on the library can still prohibit me from distributing the library with non-GPL code, derivative or otherwise. I'd have to tell my users to obtain the GPL library separately in some dynamically linkable form, tell them to install it, etc, etc. All that, along with fears of version mismatches, etc, would pretty well kill my application's chance of commercial success.
Corman Lisp and MLton -- Other fast functional languages.
GNAT Ada -- Runs pretty close to C/C++ speed. Sometimes faster if the compiler can do expeditious compile-time optimizations.
BTW, George Bush, Jr., now has a real Techer, ie confessed criminal Poindexter, working for him.
If someone proposed a law that said that the State should track the movements of your vehicle if you were driving with a gun in your car, that would be shot down by the NRA and 2nd Amendment radicals as unconstitutional usurpation and invasion of privacy of gun owners. But change it so that they the State will track your movements whether you have a gun in your car or not, and then it's just business as usual. Maybe we can get an exemption if we have a gun in our car.
It has come to the attention of many of the affluent SUV owners that low-income people and students and other undesirables drive economical cars and drive many miles on not much gasoline and are thus not paying their fair share of gasoline taxes and are thereby beating the system. Thus, the affluent want to change the system to tax miles instead of fuel. Nevermind that the fuel tax is easy and economical to collect. Never mind that road wear increases more than linearly with vehicle weight. Never mind that out-of-state vehicles will ride free. Never mind that dependence on foreign oil because of large vehicles is a huge problem for anyone trying to give the US a rational foreign policy. Let's just help the people with the money.