I openly admit poor judgment on my part. I'm acquainted with this field, but not an expert by far. I made too many conjectures, rather than sticking with what I'm sure about.
In my defense (kind of), I think you're right, I was thinking of "high profile" projects, rather than what I said.
I do believe one of my points though was valid. That being that the languages in discussion can't be dismissed as "bad" just because there are valid complaints against them. They see such widespread use because they are useful and cheap. It's much easier to find and pay for C#/Java developers than it is to find developers for the more esoteric but stronger languages. And for most of the applications for which they are used, the tradeoffs involved in using other languages just aren't worth the money/time/effort of finding experienced developers and preparing an infrastructure to support the language and the developers.
There's litte that can be done to fight that unless open-source volunteers start donating money, in addition to time, to market (both to businesses and to schools) the stronger languages they love.
I think you're misunderstanding the nature of generics. Generics don't allow rock and paper objects to be stored together in the same collection. (No, that's what pervasive base classes such as Object in Java, C#, VB, etc. allow.) Generics allow you to write one class and use separate instances of that one single class to create, at run-time, type-safe rock collections, and paper collections, and scissor collections, etc., etc.
Of course that is merely the tip of the iceberg of the power of generics. C++ templates are a Turing-complete language in their own right, and when used correctly can do many of the things LISP programs can do, except executed at compile time.
Yes, arguably you don't want your language to be controlled by a company which in turn has a marketing-driven bottom-line. Because likely the language will be imperfect, and limited in use to what the creators want/need it used for. But how many truly enterprise-class solutions (I'm talking hundreds of thousands, if not millions of lines of code here: such as PlumTree's web portal architecture) out there are written in any other type of language? I've alread seen lists here, but to be fair, a competing list for C# or Java would be far longer, and that's the important point.
C++ is the only "open-source" language that has seen widespread enterprise-level use, and I would argue that this is only because the "big players" adopted it before they had the ability to make their own tailor-made languages. Now that it can be argued that C++ is getting to be outdated, the big players have not only the capital and the know-how, but an excuse, to make their own languages which they can make money with.
And there's the rub. There is too much money behind marketing-driven languages for them to be going anywhere soon. They have the resources to make them useful. And just because a language is imperfect doesn't make it not useful. So marketing-driven, imperfect languages are going to continue to thrive on the enterprise level, because the market is the only entity with the resource and the need for enterprise-level solutions. This will become even more pervasive as "enterprise-level" solutions continue to get bigger and bigger.
A 0-rated post noted that this type of free access is a big deal to people who make an honest living publishing their creations.
This invokes a big, important question. The rise and flourish of the information age has and will continue to provide unbelievable freedom of access to unbelievable amounts of information. Where and how do we draw the line between the freedom of the consumers and the rights of the creators?
I'm a software developer who loves movies: I'm a creator and a consumer, so I see both sides of this coin. And I think there needs to be a compromise between consumers and creators.
Consumers need to realize that at a certain point, amassing more music, or more books, or more movies, or more whatever, becomes a luxury, not a right. So if the price of music prevents you from having a 10,000 song collection, I'm sorry but, "so sad too bad." That's how it's always been for just about every other purchaseable product. Sometimes you have to sacrifice what you merely want to get what you really desire.
Creators need to understand that the information they produce is a drop in the bucket compared to, for example, the estimated yottabyte (1x10^24 bytes) of information on the Internet. So if you want to make money off your creation, it had better stand out, because there's a lot of noise out there to drown it out. Simply put, if you want to get paid, make something people are willing to pay for.
I think part of the issue here is the nature of copyrights and how they apply to web sites (and to a point this can be extended to software). I've often wondered, what is the point of copyrighting a mass of information (i.e. a webpage) that is very likely going to change, either slightly or drastically, sometime in the near future? Most of the time the old version of the site is tossed away, but it's still "copyrighted" and technically illegal to reproduce without permission.
Personally, I think that the U.S. copyright system is in a grave state. It was created when 100% of information that it covered was physically recorded, and generally very static. Now, the vast majority of information that is viewed by an individual is digital, and highly dynamic.
And in a society where the amount of information being passed around is so gragantuan (I've heard estimates of the Internet "containting" approximately 1 yottabyte, or 1.02x10^24 bytes of data, not to mention private databases), how much of it is truly and verifiably original?
I'm not saying I have a better solution, but I think it's high time we stop trying to shove all these square pegs into one round hole.
Because the vast number of corporations' employees use IE. In many cases, such as one of my company's clients, employees are required by the corporation to use IE.
In addition:
Many/most apps that the more tech-savvy employees of the more trusting coroporations use are a long way from becoming web-served. And yes, these trusting corporations still mostly use Windows for their primary user/developer platform. The Linux/Unix corporate user-base (not server-base) is growing, but not as fast as some fanatics would like to believe. Windows systems are still the easiest platforms (cost-wise and effort-wise) to obtain, train for, fix, and develop for. Especially if you've already got a huge installed base.
You mean besides the businesses who were claiming that free speech means people shouldn't be able to stop them from calling?
I tend to think of my phone as an extension of my house. It is my property, and I should be able to tell people to stay away unless they have my invitation or a legal prerogative to be there (e.g. law officers). Much like I can put up a sign saying "No solicitors" or "No trespassers" on my property, I should be able to have a similar method of protecting the phone access to my home. What these businesses were demanding is not much different than the right to walk through my house if it's easier for them than going around the block.
Of course. I guess I should have emphasized my last clause, as that was really the important part. It is amazing to me how so many people interpret their right to free speech as a right to an audience.
What an amazing discovery: "Free speech" doesn't mean the freedom to talk to whoever you want, about whatever you want, whenever you want, as often as you want, by whatever medium you want, and ignore the person's pleas to go away.
The more comments I see like this, the more I'm convinced that one of the following must be true:
There are a lot of bad programmers out there who don't know how to write anything that's not a resource-hog, or
There are a lot of people who have no understanding of how to choose a language based on the application.
If you're using C#, or Java, for a performance-intensive application, and you're not an expert in squeezing performance out of that language, then guess what? You're using the wrong language. There is no "best language" for every application, so why do we complain when we can't get a language to do the thing that everyone knows it's not meant for?
Rule of thumb for the inexperienced: C# and Java are good for UI's. VB is good for little UIs and little automated processes. C/C++, Perl, Lisp, etc. are good for apps that are light on the UI and heavy on information processing.
I use C# rather than Java for Windows development (I haven't done any Linux development... yet) because for 2 big reasons, and 1 little reason:
The existing.NET libraries, I feel, are simpler and easier to extend than Java's libraries.
.NET libraries/components are much nicer than DLLs and COM for most applications.
The standard Java look-and-feel is not even as aesthetically pleasing as the standard Windows look-and-feel. (Though they are equally hard to replace.)
And that's just what I can think of off the top of my head on the spot.
In my defense (kind of), I think you're right, I was thinking of "high profile" projects, rather than what I said.
I do believe one of my points though was valid. That being that the languages in discussion can't be dismissed as "bad" just because there are valid complaints against them. They see such widespread use because they are useful and cheap. It's much easier to find and pay for C#/Java developers than it is to find developers for the more esoteric but stronger languages. And for most of the applications for which they are used, the tradeoffs involved in using other languages just aren't worth the money/time/effort of finding experienced developers and preparing an infrastructure to support the language and the developers.
There's litte that can be done to fight that unless open-source volunteers start donating money, in addition to time, to market (both to businesses and to schools) the stronger languages they love.
Of course that is merely the tip of the iceberg of the power of generics. C++ templates are a Turing-complete language in their own right, and when used correctly can do many of the things LISP programs can do, except executed at compile time.
Yes, arguably you don't want your language to be controlled by a company which in turn has a marketing-driven bottom-line. Because likely the language will be imperfect, and limited in use to what the creators want/need it used for. But how many truly enterprise-class solutions (I'm talking hundreds of thousands, if not millions of lines of code here: such as PlumTree's web portal architecture) out there are written in any other type of language? I've alread seen lists here, but to be fair, a competing list for C# or Java would be far longer, and that's the important point.
C++ is the only "open-source" language that has seen widespread enterprise-level use, and I would argue that this is only because the "big players" adopted it before they had the ability to make their own tailor-made languages. Now that it can be argued that C++ is getting to be outdated, the big players have not only the capital and the know-how, but an excuse, to make their own languages which they can make money with.
And there's the rub. There is too much money behind marketing-driven languages for them to be going anywhere soon. They have the resources to make them useful. And just because a language is imperfect doesn't make it not useful. So marketing-driven, imperfect languages are going to continue to thrive on the enterprise level, because the market is the only entity with the resource and the need for enterprise-level solutions. This will become even more pervasive as "enterprise-level" solutions continue to get bigger and bigger.
A 0-rated post noted that this type of free access is a big deal to people who make an honest living publishing their creations.
This invokes a big, important question. The rise and flourish of the information age has and will continue to provide unbelievable freedom of access to unbelievable amounts of information. Where and how do we draw the line between the freedom of the consumers and the rights of the creators?
I'm a software developer who loves movies: I'm a creator and a consumer, so I see both sides of this coin. And I think there needs to be a compromise between consumers and creators.
Consumers need to realize that at a certain point, amassing more music, or more books, or more movies, or more whatever, becomes a luxury, not a right. So if the price of music prevents you from having a 10,000 song collection, I'm sorry but, "so sad too bad." That's how it's always been for just about every other purchaseable product. Sometimes you have to sacrifice what you merely want to get what you really desire.
Creators need to understand that the information they produce is a drop in the bucket compared to, for example, the estimated yottabyte (1x10^24 bytes) of information on the Internet. So if you want to make money off your creation, it had better stand out, because there's a lot of noise out there to drown it out. Simply put, if you want to get paid, make something people are willing to pay for.
I think part of the issue here is the nature of copyrights and how they apply to web sites (and to a point this can be extended to software). I've often wondered, what is the point of copyrighting a mass of information (i.e. a webpage) that is very likely going to change, either slightly or drastically, sometime in the near future? Most of the time the old version of the site is tossed away, but it's still "copyrighted" and technically illegal to reproduce without permission.
Personally, I think that the U.S. copyright system is in a grave state. It was created when 100% of information that it covered was physically recorded, and generally very static. Now, the vast majority of information that is viewed by an individual is digital, and highly dynamic.
And in a society where the amount of information being passed around is so gragantuan (I've heard estimates of the Internet "containting" approximately 1 yottabyte, or 1.02x10^24 bytes of data, not to mention private databases), how much of it is truly and verifiably original?
I'm not saying I have a better solution, but I think it's high time we stop trying to shove all these square pegs into one round hole.
Good luck attaching tiny sensors to all those atoms. That'd be one heckuva small tweezers and dab of heat glue.
Oh, and good luck getting the atoms and their neighbors to sit still while you ask them about themselves and their neighbors.
There are just a few laws of physics to surmount before getting excited about this.
I'll provide a simple answer:
Because the vast number of corporations' employees use IE. In many cases, such as one of my company's clients, employees are required by the corporation to use IE.
In addition:
Many/most apps that the more tech-savvy employees of the more trusting coroporations use are a long way from becoming web-served. And yes, these trusting corporations still mostly use Windows for their primary user/developer platform. The Linux/Unix corporate user-base (not server-base) is growing, but not as fast as some fanatics would like to believe. Windows systems are still the easiest platforms (cost-wise and effort-wise) to obtain, train for, fix, and develop for. Especially if you've already got a huge installed base.
You mean besides the businesses who were claiming that free speech means people shouldn't be able to stop them from calling?
I tend to think of my phone as an extension of my house. It is my property, and I should be able to tell people to stay away unless they have my invitation or a legal prerogative to be there (e.g. law officers). Much like I can put up a sign saying "No solicitors" or "No trespassers" on my property, I should be able to have a similar method of protecting the phone access to my home. What these businesses were demanding is not much different than the right to walk through my house if it's easier for them than going around the block.
Of course. I guess I should have emphasized my last clause, as that was really the important part. It is amazing to me how so many people interpret their right to free speech as a right to an audience.
What an amazing discovery: "Free speech" doesn't mean the freedom to talk to whoever you want, about whatever you want, whenever you want, as often as you want, by whatever medium you want, and ignore the person's pleas to go away.
- There are a lot of bad programmers out there who don't know how to write anything that's not a resource-hog, or
- There are a lot of people who have no understanding of how to choose a language based on the application.
If you're using C#, or Java, for a performance-intensive application, and you're not an expert in squeezing performance out of that language, then guess what? You're using the wrong language. There is no "best language" for every application, so why do we complain when we can't get a language to do the thing that everyone knows it's not meant for?Rule of thumb for the inexperienced:
C# and Java are good for UI's. VB is good for little UIs and little automated processes. C/C++, Perl, Lisp, etc. are good for apps that are light on the UI and heavy on information processing.
What's so hard about that?
I use C# rather than Java for Windows development (I haven't done any Linux development... yet) because for 2 big reasons, and 1 little reason:
- The existing
.NET libraries, I feel, are simpler and easier to extend than Java's libraries.
- .NET libraries/components are much nicer than DLLs and COM for most applications.
- The standard Java look-and-feel is not even as aesthetically pleasing as the standard Windows look-and-feel. (Though they are equally hard to replace.)
And that's just what I can think of off the top of my head on the spot.