Is the definition really that cut and dry? What if there are 4 competitors in the industry and 3 of them have 24% market share while one has 28%? That's certainly not a monopoly by any stretch of the imagination. Oligopoly, perhaps, but certainly not a monopoly.
I have a hard time seeing how anything could be considered a monopoly unless it's hitting at least 75% of the market. Below that level, competition can easily eat away at you and gang up to hurt you.
Java and web tech (HTML, CSS, Javascript) are.Net's biggest competitors, not ASF. Tomcat and Apache WS compete with IIS, but that's about the extent of the overlap.
"I just really wish someone would make something that was pretty much exactly what CSS is, but make it a little more robust. Not with more types of styles, but with ways of positioning or sizing an element based on its parent element, better support for multiple classes, variables (for globally changing colors), and ways of adjusting colors relative to other colors. I'd love to be able to say "on hover, make the background 20% darker or 20% more red". I'd love to be able to change my color in one place instead of having to change the link color, the background color of my header and the underline of my h elements each time I want to tweak a color."
This is a great idea for a new CSS feature, but it doesn't require a new language. I'm pretty sure there's already a proposal for something like this anyway. What you probably want is the ability to do something like this:
I've implemented this sort of functionality as a preprocessor, and I agree that it's useful, but it wouldn't be hard to have something like this included in a new version of CSS, if it isn't somewhere in CSS3 already and I'm just not aware of it.
"I'd also love if you could separate form validation from the page. doing validation with JS works, but it's not optimal. Having a validation language would be pretty awesome. Especially if you could implement it server-side. If the client could grab the validation code and validate the form before sending and handle errors (by displaying errors and highlighting fields) and then the server could also run that same code and handle errors (security... it would be easy to modify or disable anything on the clientside...) that would be great. All you'd really need is just a handful of cookiecutter directives (validate the length, format/regex, and also have some built-in types like phonenumbers and emails), that would be great, too."
WML has had this for years, and it wouldn't be a problem to add it to HTML. Something which I've found highly effective here is to define an attribute in the html such as this: <input type="text" validate="regex" filter="[0-9]"/>, and then use a javascript library to examine the various fields and automatically do the form validation.
There are a lot of people who think that a lot of things are bad. That doesn't make them right.
Most people who complain about web development are whiners who ignore all of the flaws of desktop applications, or worse, people who just don't have a clue what they're talking about to begin with. Most of the articles you posted fall into the latter half.
Server side needs are different from client side needs, and so far the best approach has consistently been to use different languages in the different environments. The client needs to run in a secure sandbox with limited access to system resources, but the server needs high performance. These two concepts are at odds with one another.
*something that makes making UIs as easy as drag and drop
No, we don't need this. We need real programmers who actually know what they're doing to take designs made by designers and let them work. Clearly you didn't live through the travesty of Visual Basic and other RAD drag and drop environments if you're making this statement.
*something that does not forgive idiot html "programmers" who write bad code
Fair enough, but now this is at odds with your previous statement. You want to make it easy to write UIs but then you want to eliminate "idiots"? Have you ever written software before?
*something that doesnt suffer from XSS
Any environment that allows dynamic interpreting suffers from this, but this is a browser flaw, not a flaw in any of the languages used.
*something that can be extended easily
All programming languages can be extended easily.
*something that can be "compiled" for faster execution
Compiling has little to do with execution speed, except where the compiler is coupled with an optimizer. Of course, unless you force yourself to use strongly typed languages with all sorts of limitations, you can't take advantage of much of this anyway, and once you do that you just slow down development yet again.
*something thats implemented same way in all browsers (or even better doesnt require a browsers and works on range of platforms)
Nothing will ever be implemented the same way on all platforms. There isn't a single programming environment in existence that runs on multiple platforms that is implemented the same way on all of them. C? Nope. C++? Nope. Java? No. PHP? No. Perl? No. Python? No.
HTML, CSS, and Javascript do not require browsers at all, and work on a range of platforms. They're also 3 completely distinct technologies which can be used completely independently of one another:
- HTML is a markup language for describing the structure of a hypertext document. - CSS is a declarative language for describing styling rules for a user interface. There are dozens of enviroments that use it that aren't using HTML. - Javascript (aka JScript, ECMAScript) is a general purpose programming language. It is implemented in hundreds upon hundreds of environments ranging from embedded systems to servers.
HTML is in dire need of being upgraded. Javascript could definitely use a real standard library. CSS is fine as well, we just need more implementations using the latest version once it's formally standardized.
All of these issues are incredibly minor considering how flawed other popular development tools are. I'd take Javascript's flaws over C++ or Java's flaws any day of the week, and comparing CSS to other commonly used style declaration systems isn't even a close competition.
Lets make legal immigration more time consuming and difficult (wouldn't want smart people entering the country, now would we?) and continue ignoring the illegal variety.
I'm sure that terrorists who want to destroy america will go out of their way to obey laws.
What is it that they're losing by having this information indexed on Google again? It's just a summary; if they want to read the article, they still have to go to the target site.
If Google didn't index their content, they'd get a lot fewer readers.
It's not like people are going to Google news and then deciding that they got enough information from the summary to not bother reading the article.
People who use Tomcat tend to be enterprisey types (which perhaps goes without saying; using Java to solve web problems is like using a chainsaw to shave), so it's no surprise that few of them are willing / able to contribute to the project. The kind of domain knowledge required to create an http server and to do the wiring necessary to make things easily configurable is pretty far removed from the typical day to day work of these engineers.
I think this is kind of true for most open source projects. The free spirited "hacker" types who want to work on open source projects (write code without being paid? crazy!) tend to be the types of people more interested in algorithms and data structures than they are with worrying about the best way to implement GOF stuff.
A 32GB flash drive is incredibly useful because it means that you can cache on disk more reliably -- especially important in memory-hungry windows apps, which pretty much require swapping.
32GB is quite a lot of space; it's tiny by comparison to the high end hard drives out today, but that was top of the line for laptops just a few years ago. Unless you're storing a huge collection of movies or huge amounts of photos or something, it's unlikely that you'll really ever need much more than 100GB anyway. I'd bet on 128GB versions within 2 years or less.
The big use for these things will probably be in servers in the short term. Capacity usually isn't a real issue (heavy storage needs typically go to a NetApp or similar).
Why on earth does anyone pay attention to Ecma, anyway? For the last few decades, they've pretty much done nothing but allowed Microsoft to push buggy programming languages onto the world and claim that they were "standardized". We saw this when they pushed JScript (which was just ripped off of Javascript) as ECMAScript. We saw it again when they tried pushing.Net (CLI, C++/CLI, and C# were all pushed through Ecma). Now we're seeing it with "Open" XML.
Nobody is going to send you important communication to your myspace account.
IM is great (though not a replacement for email). Social networking sites supporting private messaging have been around for decades, and they'll be around for many more, but they're also not going to replace email.
People (even young people) are quite capable of using more than one communication medium. Sure, we don't use email to communicate with our friends (because we prefer IM), but that doesn't mean that we don't use email. Talking to my brother? Sure, IM works. Getting an inquiry about my resume? Better check my email.
Old people must be stupid if they think young people aren't using email.
No, you're missing the point.
Google isn't making phones that happen to run Java. They're making a PLATFORM that developers can target, that happens to use Java.
You won't be writing apps for Android that can run on other devices.
It's common for people going to the competition who have access to confidential company information to be escorted off campus immediately after resigning at most companies.
Wow, sounds a lot like Geocities, Broadcast.com, and Blue Mountain.
Why do internet companies not learn from their mistakes?
On the bright side, the next time I come up with some cool idea with absolutely no hope of a business model, I'll just sell it to yahoo or something.
Software is a bad comparison. Due to the rapid growth of this industry over the last few decades, a disproportionate percentage of software engineers have been able to retire in their early 40s. Think about how many millionaires came from MS, Oracle, Adobe, etc. in the last few years.
There are plenty of "old timer" engineers in traditional engineering fields, such as aerospace, chemical, and civil engineering. 20 or 30 years from now there will be a lot of "old timer" software engineers, too.
You sure as hell can teach with just a masters. You won't get tenure or anything, but most major universities suck in people from industry to teach. I know at least 2 people who have a masters that teach part-time. One of them even published a text book on security.
Honestly, the only graduate degrees that are really worth it are law, medicine, an MBA, and people who want to be professors.
A master's or PhD in Computer Science, Electrical Engineering, or the related does not yield enough additional income to justify the cost (both tuition and opportunity cost) of getting the degrees. Most companies view each extra year of school as being worth about a half a year of experience.
If you're going to be making $100k regardless of the degree you attained, the only reason to get the advanced degree is for personal satisfaction, and personal satisfaction just isn't a driving force for most people.
Of course, another thing to consider is that many american companies won't hire students from China or India who only have a BS (unless it comes from a really great school like IIT). These students wind up having to go to a master's program in order to have any hope of being hired.
Anyone who's worked for a large company (even companies with "good" software engineering practices) knows how awful the internal systems are compared to the stuff released to the public.
There's not a single company in the world that has an internal engineering department that doesn't have a ton of shitty code.
The scary thing, though, is the denial of the bulk of the employees. I'm pretty sure that this is because the people who wrote the original shitty code are now VPs and directors, and nobody wants to say bad things about their boss' code.
When the product managers and marketing people are getting 10% annual raises (closer to the real cost of living increases), it's no wonder.
Most tech workers are grouped into very expensive areas, too. The fact that the median bay area home costs over $700,000 might have something to do with the dissatisfaction over salaries.
Good people get paid no matter where they work.
Software engineers are still among the highest paid people in the U.S. (right behind doctors and lawyers).
Companies like Yahoo, Google, etc. routinely hire kids fresh out of college for $70k a year with $50-100k in stock options and RSUs. A few years of experience pushes you over $100k without trying.
Outside of professional degrees, how many other occupations can make those sorts of claims?
Anyone worried about losing work to India or wherever needs to stop working at Banks and other places where technology is just a "cost center". For them, they go with whoever the cheapest vendor is in any given year. If they weren't outsourcing to Infosys or Tata, they'd be outsourcing to IBM Global Services or Convergys.
Is the definition really that cut and dry? What if there are 4 competitors in the industry and 3 of them have 24% market share while one has 28%? That's certainly not a monopoly by any stretch of the imagination. Oligopoly, perhaps, but certainly not a monopoly. I have a hard time seeing how anything could be considered a monopoly unless it's hitting at least 75% of the market. Below that level, competition can easily eat away at you and gang up to hurt you.
Java and web tech (HTML, CSS, Javascript) are .Net's biggest competitors, not ASF. Tomcat and Apache WS compete with IIS, but that's about the extent of the overlap.
This is a great idea for a new CSS feature, but it doesn't require a new language. I'm pretty sure there's already a proposal for something like this anyway. What you probably want is the ability to do something like this:
I've implemented this sort of functionality as a preprocessor, and I agree that it's useful, but it wouldn't be hard to have something like this included in a new version of CSS, if it isn't somewhere in CSS3 already and I'm just not aware of it.
WML has had this for years, and it wouldn't be a problem to add it to HTML. Something which I've found highly effective here is to define an attribute in the html such as this: <input type="text" validate="regex" filter="[0-9]"/>, and then use a javascript library to examine the various fields and automatically do the form validation.
Yeah, because Java worked so well on the Web before.
There are a lot of people who think that a lot of things are bad. That doesn't make them right. Most people who complain about web development are whiners who ignore all of the flaws of desktop applications, or worse, people who just don't have a clue what they're talking about to begin with. Most of the articles you posted fall into the latter half.
No, we don't.
*works on the server and the client
Server side needs are different from client side needs, and so far the best approach has consistently been to use different languages in the different environments. The client needs to run in a secure sandbox with limited access to system resources, but the server needs high performance. These two concepts are at odds with one another.
*something that makes making UIs as easy as drag and drop
No, we don't need this. We need real programmers who actually know what they're doing to take designs made by designers and let them work. Clearly you didn't live through the travesty of Visual Basic and other RAD drag and drop environments if you're making this statement.
*something that does not forgive idiot html "programmers" who write bad code
Fair enough, but now this is at odds with your previous statement. You want to make it easy to write UIs but then you want to eliminate "idiots"? Have you ever written software before?
*something that doesnt suffer from XSS
Any environment that allows dynamic interpreting suffers from this, but this is a browser flaw, not a flaw in any of the languages used.
*something that can be extended easily
All programming languages can be extended easily.
*something that can be "compiled" for faster execution
Compiling has little to do with execution speed, except where the compiler is coupled with an optimizer. Of course, unless you force yourself to use strongly typed languages with all sorts of limitations, you can't take advantage of much of this anyway, and once you do that you just slow down development yet again.
*something thats implemented same way in all browsers (or even better doesnt require a browsers and works on range of platforms)
Nothing will ever be implemented the same way on all platforms. There isn't a single programming environment in existence that runs on multiple platforms that is implemented the same way on all of them. C? Nope. C++? Nope. Java? No. PHP? No. Perl? No. Python? No.
HTML, CSS, and Javascript do not require browsers at all, and work on a range of platforms. They're also 3 completely distinct technologies which can be used completely independently of one another:
- HTML is a markup language for describing the structure of a hypertext document.
- CSS is a declarative language for describing styling rules for a user interface. There are dozens of enviroments that use it that aren't using HTML.
- Javascript (aka JScript, ECMAScript) is a general purpose programming language. It is implemented in hundreds upon hundreds of environments ranging from embedded systems to servers.
HTML is in dire need of being upgraded. Javascript could definitely use a real standard library. CSS is fine as well, we just need more implementations using the latest version once it's formally standardized.
All of these issues are incredibly minor considering how flawed other popular development tools are. I'd take Javascript's flaws over C++ or Java's flaws any day of the week, and comparing CSS to other commonly used style declaration systems isn't even a close competition.
Lets make legal immigration more time consuming and difficult (wouldn't want smart people entering the country, now would we?) and continue ignoring the illegal variety. I'm sure that terrorists who want to destroy america will go out of their way to obey laws.
What is it that they're losing by having this information indexed on Google again? It's just a summary; if they want to read the article, they still have to go to the target site. If Google didn't index their content, they'd get a lot fewer readers. It's not like people are going to Google news and then deciding that they got enough information from the summary to not bother reading the article.
It's called Google.
People who use Tomcat tend to be enterprisey types (which perhaps goes without saying; using Java to solve web problems is like using a chainsaw to shave), so it's no surprise that few of them are willing / able to contribute to the project. The kind of domain knowledge required to create an http server and to do the wiring necessary to make things easily configurable is pretty far removed from the typical day to day work of these engineers. I think this is kind of true for most open source projects. The free spirited "hacker" types who want to work on open source projects (write code without being paid? crazy!) tend to be the types of people more interested in algorithms and data structures than they are with worrying about the best way to implement GOF stuff.
A 32GB flash drive is incredibly useful because it means that you can cache on disk more reliably -- especially important in memory-hungry windows apps, which pretty much require swapping. 32GB is quite a lot of space; it's tiny by comparison to the high end hard drives out today, but that was top of the line for laptops just a few years ago. Unless you're storing a huge collection of movies or huge amounts of photos or something, it's unlikely that you'll really ever need much more than 100GB anyway. I'd bet on 128GB versions within 2 years or less. The big use for these things will probably be in servers in the short term. Capacity usually isn't a real issue (heavy storage needs typically go to a NetApp or similar).
Why on earth does anyone pay attention to Ecma, anyway? For the last few decades, they've pretty much done nothing but allowed Microsoft to push buggy programming languages onto the world and claim that they were "standardized". We saw this when they pushed JScript (which was just ripped off of Javascript) as ECMAScript. We saw it again when they tried pushing .Net (CLI, C++/CLI, and C# were all pushed through Ecma). Now we're seeing it with "Open" XML.
Nobody is going to send you important communication to your myspace account. IM is great (though not a replacement for email). Social networking sites supporting private messaging have been around for decades, and they'll be around for many more, but they're also not going to replace email. People (even young people) are quite capable of using more than one communication medium. Sure, we don't use email to communicate with our friends (because we prefer IM), but that doesn't mean that we don't use email. Talking to my brother? Sure, IM works. Getting an inquiry about my resume? Better check my email. Old people must be stupid if they think young people aren't using email.
No, you're missing the point. Google isn't making phones that happen to run Java. They're making a PLATFORM that developers can target, that happens to use Java. You won't be writing apps for Android that can run on other devices.
I see they've moved on from smoking crack to hallucinogens.
It's common for people going to the competition who have access to confidential company information to be escorted off campus immediately after resigning at most companies.
Why don't they tie financial aid to a plan to reduce murder, rape, child molestation, TERRORISM (shit, they might try that one), or anything else?
ANY politician on board with this legislation is a corrupt piece of shit who deserves to go to prison.
Wow, sounds a lot like Geocities, Broadcast.com, and Blue Mountain. Why do internet companies not learn from their mistakes? On the bright side, the next time I come up with some cool idea with absolutely no hope of a business model, I'll just sell it to yahoo or something.
Software became much more profitable.
Software is a bad comparison. Due to the rapid growth of this industry over the last few decades, a disproportionate percentage of software engineers have been able to retire in their early 40s. Think about how many millionaires came from MS, Oracle, Adobe, etc. in the last few years. There are plenty of "old timer" engineers in traditional engineering fields, such as aerospace, chemical, and civil engineering. 20 or 30 years from now there will be a lot of "old timer" software engineers, too.
You sure as hell can teach with just a masters. You won't get tenure or anything, but most major universities suck in people from industry to teach. I know at least 2 people who have a masters that teach part-time. One of them even published a text book on security.
Honestly, the only graduate degrees that are really worth it are law, medicine, an MBA, and people who want to be professors. A master's or PhD in Computer Science, Electrical Engineering, or the related does not yield enough additional income to justify the cost (both tuition and opportunity cost) of getting the degrees. Most companies view each extra year of school as being worth about a half a year of experience. If you're going to be making $100k regardless of the degree you attained, the only reason to get the advanced degree is for personal satisfaction, and personal satisfaction just isn't a driving force for most people. Of course, another thing to consider is that many american companies won't hire students from China or India who only have a BS (unless it comes from a really great school like IIT). These students wind up having to go to a master's program in order to have any hope of being hired.
Anyone who's worked for a large company (even companies with "good" software engineering practices) knows how awful the internal systems are compared to the stuff released to the public. There's not a single company in the world that has an internal engineering department that doesn't have a ton of shitty code. The scary thing, though, is the denial of the bulk of the employees. I'm pretty sure that this is because the people who wrote the original shitty code are now VPs and directors, and nobody wants to say bad things about their boss' code.
When the product managers and marketing people are getting 10% annual raises (closer to the real cost of living increases), it's no wonder. Most tech workers are grouped into very expensive areas, too. The fact that the median bay area home costs over $700,000 might have something to do with the dissatisfaction over salaries.
Good people get paid no matter where they work. Software engineers are still among the highest paid people in the U.S. (right behind doctors and lawyers). Companies like Yahoo, Google, etc. routinely hire kids fresh out of college for $70k a year with $50-100k in stock options and RSUs. A few years of experience pushes you over $100k without trying. Outside of professional degrees, how many other occupations can make those sorts of claims? Anyone worried about losing work to India or wherever needs to stop working at Banks and other places where technology is just a "cost center". For them, they go with whoever the cheapest vendor is in any given year. If they weren't outsourcing to Infosys or Tata, they'd be outsourcing to IBM Global Services or Convergys.