The MOST important reason for using Postgres is that it has object ids (OIDs). This allows true referential integrity. You can have a row point at another row and this reference stays the same REGARDLESS of whether you change the primary key of the referenced row. This allows true object orientation.
Offshoring does shift jobs. Yes, computer science jobs ARE lost by offshoring when jobs move to lower wage countries. This has happened to many industries in the past and is currently happening to computer science. However, what usually happens is that new jobs crop up in the country that lost them. Unfortunately this is often in a field different than the people that lost the jobs so they must retrain.
Consider the alternative. If you didn't offshore, you would be more inefficient than competitors that did. And in this global economy, you would lose in the long run since the most competitive position would win. In Eastern Europe they had to shut down factories that couldn't build items as good or as efficiently as the West. Also, American car manufacturers have been forced to put out better built cars.
You also have to realize that this isn't a zero sum game. You don't win if the other country does poorly. You win if you and the other country both do good. If they do good, they can buy stuff from you. We are all in this together.
Structural shifts like this aren't pleasant, but unfortunately necessary. It doesn't feel any better though if you are on the receiving end (like I am).
Java programmers need to know the Eiffel concepts
on
EiffelStudio Goes Open
·
· Score: 1
More Java programmers need to be exposed to Eiffel. I constantly interview Java programmers that can't tell me why Gosling added interfaces to Java. I virtually always get the answer "because they allow multiple inheritance". Then I ask them, "why didn't Gosling just add multiple inheritance to the class hierarchy and be done with it?". They can't answer that question.
Gosling added interfaces to Java because they represent abstract data types (ADTs)! The classes are implementations of the ADT behavior and are known as concrete data types (CDTs). They are an approximation of the abstract data types. For example, you can't represent an infinite amount of integers in Java. You can only represent -2^32 to 2^32. You can't have a stack of infinite size either. You can only approximate the "infinite stack model" in Java since you have limited memory.
Why is everything in an interface public, static, and final? Because you can't instantiate it and it is a specification of behavior! Gosling doesn't like multiple inheritance in the class hierarchy because of diamond inheritance (which he discusses in the Java book) but he allows it in the interface hierarchy because you are specifying behavior and there is no code to conflict. How do you connect the class tree and the interface directed acyclic graph hierarchy? With the "implements" keyword, a keyword for specifying that an implementation fulfills and ADTs contract.
Even Java programmers need to read the Eiffel book. They can't even program in Java correctly.
This article is one of the worst I have seen by the Economist which is usually an excellent paper. First, it says that grid computing is like parallel processing which it isn't. I went to a talk by Dr. Kesselman (the father of grid computing) and he stressed over and over that it is not about parallel processing, but it is rather like web services. It offers services on the web. Secondly, the article says that web servcies are "boring". Why? This is a pretty subjective statement from a company that is pretty objective.
As Steven Deering pointed out, if you close ports, then everybody puts their protocol on top of HTTP. But then this just makes a protocol stack on top of HTTP that you need to filter and you've just moved your problem to a higher level! Therefore, you should just go back to the original problem and use ports as they were intended.
1. Get a job for 20 rather than 40 hours per week.
2. Live poorly. Don't spend much and if you live in a big house, get rid of it. Get a cheap apartment or rent a room.
3. Borrow like crazy.
Anybody can get student loans. I make 6 figures and have a loan right now for my MBA. If you are not willing to take the above steps, you are just blowing smoke.
A company wants you to have a degree for a number of reasons:
1. It guarantees that you have had the breadth of exposure to your field that they think you need. You may say you are well rounded in your field, but are you? Degrees also require you to be proficient in other fields as well.
2. It shows that you can be given a hard task and complete it.
3. It provides a way to keep score. If you are doing good in school in relation to others in your field than you are good at what you do. If you do badly in relation to others, you are bad at what you do.
4. It decreases the company's risk that the person is an idiot.
5. People with degrees get more respect.
In response to good programmers who don't have degrees working with idiots with degrees, this exists, but you'll find it much more common that those with degrees are smarter (and more motivated) than those without. That's my experience.
Yes it would work. When the person enters the credit card number, you hash it and do the comparison to see if it matches. You have the original credit card number stored in the memory of the widget on the web page. That is, use the number the person gave you! It isn't stored on disk though so if it should be safe.
I'm addicted to Slashdot. I read and read and read and I can't get enough of Slashdot. I check every minute or so and if I see a new article it is like winning a trophy. I spend every waking hour looking for new articles that I haven't read on Slashdot. Help me. There must be more like me.
Steven Deering from the IETF had an interesting point about running a bunch of services on top top port 80. If you run a bunch of services on top of port 80, all you done is build a protocol stack on top of things running on port 80 and you've turned TCP into a layer 2 protocol. You haven't solved anything, and in fact, you've moved your problem up a level. This is ridiculous. We need to get back to running separate services on separate ports just as the Internet was designed to do.
The MOST important reason for using Postgres is that it has object ids (OIDs). This allows true referential integrity. You can have a row point at another row and this reference stays the same REGARDLESS of whether you change the primary key of the referenced row. This allows true object orientation.
Offshoring does shift jobs. Yes, computer science jobs ARE lost by offshoring when jobs move to lower wage countries. This has happened to many industries in the past and is currently happening to computer science. However, what usually happens is that new jobs crop up in the country that lost them. Unfortunately this is often in a field different than the people that lost the jobs so they must retrain.
Consider the alternative. If you didn't offshore, you would be more inefficient than competitors that did. And in this global economy, you would lose in the long run since the most competitive position would win. In Eastern Europe they had to shut down factories that couldn't build items as good or as efficiently as the West. Also, American car manufacturers have been forced to put out better built cars.
You also have to realize that this isn't a zero sum game. You don't win if the other country does poorly. You win if you and the other country both do good. If they do good, they can buy stuff from you. We are all in this together.
Structural shifts like this aren't pleasant, but unfortunately necessary. It doesn't feel any better though if you are on the receiving end (like I am).
More Java programmers need to be exposed to Eiffel. I constantly interview Java programmers that can't tell me why Gosling added interfaces to Java. I virtually always get the answer "because they allow multiple inheritance". Then I ask them, "why didn't Gosling just add multiple inheritance to the class hierarchy and be done with it?". They can't answer that question.
Gosling added interfaces to Java because they represent abstract data types (ADTs)! The classes are implementations of the ADT behavior and are known as concrete data types (CDTs). They are an approximation of the abstract data types. For example, you can't represent an infinite amount of integers in Java. You can only represent -2^32 to 2^32. You can't have a stack of infinite size either. You can only approximate the "infinite stack model" in Java since you have limited memory.
Why is everything in an interface public, static, and final? Because you can't instantiate it and it is a specification of behavior! Gosling doesn't like multiple inheritance in the class hierarchy because of diamond inheritance (which he discusses in the Java book) but he allows it in the interface hierarchy because you are specifying behavior and there is no code to conflict. How do you connect the class tree and the interface directed acyclic graph hierarchy? With the "implements" keyword, a keyword for specifying that an implementation fulfills and ADTs contract.
Even Java programmers need to read the Eiffel book. They can't even program in Java correctly.
Trying to make bits not copyable is like trying to make water not wet.
This article is one of the worst I have seen by the Economist which is usually an excellent paper. First, it says that grid computing is like parallel processing which it isn't. I went to a talk by Dr. Kesselman (the father of grid computing) and he stressed over and over that it is not about parallel processing, but it is rather like web services. It offers services on the web. Secondly, the article says that web servcies are "boring". Why? This is a pretty subjective statement from a company that is pretty objective.
As Steven Deering pointed out, if you close ports, then everybody puts their protocol on top of HTTP. But then this just makes a protocol stack on top of HTTP that you need to filter and you've just moved your problem to a higher level! Therefore, you should just go back to the original problem and use ports as they were intended.
Here are the steps you need to take:
1. Get a job for 20 rather than 40 hours per week.
2. Live poorly. Don't spend much and if you live in a big house, get rid of it. Get a cheap apartment or rent a room.
3. Borrow like crazy.
Anybody can get student loans. I make 6 figures and have a loan right now for my MBA. If you are not willing to take the above steps, you are just blowing smoke.
A company wants you to have a degree for a number of reasons:
1. It guarantees that you have had the breadth of exposure to your field that they think you need. You may say you are well rounded in your field, but are you? Degrees also require you to be proficient in other fields as well.
2. It shows that you can be given a hard task and complete it.
3. It provides a way to keep score. If you are doing good in school in relation to others in your field than you are good at what you do. If you do badly in relation to others, you are bad at what you do.
4. It decreases the company's risk that the person is an idiot.
5. People with degrees get more respect.
In response to good programmers who don't have degrees working with idiots with degrees, this exists, but you'll find it much more common that those with degrees are smarter (and more motivated) than those without. That's my experience.
Lieing is a terrible idea. Always. You career will suffer for it.
Yes it would work. When the person enters the credit card number, you hash it and do the comparison to see if it matches. You have the original credit card number stored in the memory of the widget on the web page. That is, use the number the person gave you! It isn't stored on disk though so if it should be safe.
I'm addicted to Slashdot. I read and read and read and I can't get enough of Slashdot. I check every minute or so and if I see a new article it is like winning a trophy. I spend every waking hour looking for new articles that I haven't read on Slashdot. Help me. There must be more like me.
Steven Deering from the IETF had an interesting point about running a bunch of services on top top port 80. If you run a bunch of services on top of port 80, all you done is build a protocol stack on top of things running on port 80 and you've turned TCP into a layer 2 protocol. You haven't solved anything, and in fact, you've moved your problem up a level. This is ridiculous. We need to get back to running separate services on separate ports just as the Internet was designed to do.
Why does Alex Chiu look so old?