You're referring to the Mozilla/FireFox users, right?
Look, I'm an IT worker. I program all day at work and then I come home and do mroe programming. I also tinker around with new software, keep up on/. and several other sites specific to my areas of expertise, and you know what else?
I run Windows XP and IE. Is it full-proof? Absolutely not? I've lost my crap to an MS crash before (mind you, those were hard-drive failures, or pre-NT-kernel). When I first started using dialup and playing with WINS as a teenager, I once found 20 strangers connected to my PC.
I've encountered problems, dug into them, fixed them, worked aorund them, and learned to prevent and/or avoid them.
Now things like my browser, I want to be able to use without thinking about it. I don't want to have to worry about nasty, complex upgrades (I'm assumign upgrading FireFox is no better than the uninstall/reinstall upgrade plan for Thunderbird). And then there's the things I also enjoy about IE, like HTML in the taskbar, bookmarklet,s flexible tolbars, file-system-based favorites, etc.
Call me an end-user if you want to be wrong. I am perfectly aware of the kinds of vuilnerabilities in IE and I do best not to stick my browser in dirty places to avoid these. But until the risk increases (or manifests itself to me personally) or MOzilla/FireBird get easier to use from install to every-day usage, I ain't switching.
Have you ever seem a simple neural network? I took a couple of artificial nerual network classes in college because of some pedestrian interest in the subject. How abotu a 7-neuron text-to-speech engine with 95% accuracy? How about only 30 neurons to keep a car on the road?
Now, consider that the human brain has on the order of 100 billion neurons. Can you even begin top fathom the near-infinite number of states this huge system can be in? Think of the thousands of inputs from all over ytour eyes, ears, nose, tongue, skin. Think of the huge variations of nerual network configurations in the brain.
I for one am not naive engouh to suggest that we are anywhere NEAR ready to simulate this level of complexity, nor measure and predict it. Even in the Matrix, they simply tapped the inputs and the outputs. I do believe it is entirely possible that "free will" is just a conventient label for that big mess of neurons, and its connections to the environment. It's one big feedback loop.
You've jumped the gun a bit. Just because 50% of the people you've observed hav violated the speed limit doesn't mean they think it's a bad law. Do you think robbers all think stealing shoudl be legal? Do you think murderes all believe it shoudl be legal to murder?
I'll give you a sample. I've sped before. And I've been ticketed for it. Yet I don't think repealing speed limits or increasing them significantly would do any good. IN fact, it would scare me to see most of the morons out there driving at ever-increaing velocities.
Not all who violate the law think it is a bad law.
Everyone on Slashdot knows that if you came from C++ and now say Python is better than Java, you are further obliged to say how nothing can outperform C++, especially some two bit interpreted language like Python, runtime optimizations or not.
I don't know Python, so I apologize for not meeting that crieria, but I wanted to reply anyways...
Java 101
public class MyMainClass {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
That shoudl look pretty familiar to C++. And you didn't need any books, I bet, to read and understand that. Hell, I didn't use any books to write it either!
As others have pointed out, what's compelx about Java is the sheer number of APIs. Even the standard ones are countless, not to mention the many, many, many might-as-well-be-standard third-party libraries. BUt you don't need books. All you need is the javadocs, which every standard or third party library I've used has with it. You just don't write code without wiritng the javadoc comments and then the documentaiton is done. Well, ok, when the deadline comes and goes and people are breathing down your neck, you start to skimp on the javadoc comments:)
Now, I Don't know Python, so educate me? IF you can fit it all in your head, how do you access a database with Python? Write a GUI? CReate an HTTP server? Read and parse a JPEG?
My bet, unless someone says otherwise, is that you either use a standard Python librayry (meaning Pyhton isn't as small as you suggested), you rely on a third-party library (meaning, Pyhton is small, but you still can't fit it all in your head if you count the third-party libraries), or you write it yourself (meaning you have to have books on how to write that stuff, lest you have it all crammed in your head).
...dump Perl completely after using it for 12 years.
And what of the other languages? Did you dump them as well? Everything you do now and ever have done would be done best with Ptyhon because it is the "best"?
Please, please, DO NOT LOOK TO J2EE as an enterprise framework. At the high level, there's a lot of nice ideas. And some of the APIs are pretty good (i.e. servlets). But it is littered with over-designed, over0engineered, cumbersone to use APIs. Piecewise, you can make good with it, but as a whole, it is a bumbling bohemoth!
The XML parsers... some are absed on the W3C stuff (i.e. supporting a standard) and others are avilable that overcome the shortcomings. That's called choice.
Java comes with not one, but two standard GUI toolkits, and SWT is a viable alternative. I'm sure there are others. YEt Python doesn't come with any standard one and it has a comprehensive standard library? Does Pyhton trump the need for GUIs? Obviously not if there are GUI libraries available outside of the standard comprehensive library. Maybe I'm confused. Explain!
Learning about Lambdas functions.... they sound a lot like the "funcktor pattern" but that instances of the functor can be created with various arguments. i.e. in Java...
public class Incrementor {
public static Incrementor makeIncrementor(int pAmount) {
return new Incrementor(pAmount);
}
private int amount;
public Incrementor(int pAmount) {
this.amount = pAmount;
}
public int evaluate(int pArg) {
return this.amount + pArg;
} }//...
Incrmentor f = Incrementor.makeIncrementor(42); f.evaluate(0);// returns 42 f.evaluate(1);// returns 43
OK, I'm not a Python programmer (and frankly, all of this Pyhton chest-thumping isn't doing anything for its cause), but what I think I see above is a bunch of anonymous functions and on-the-fly function definitions. I've done at least part ofthat in ECMAScript. Yeah, that's right, JavaScript. Surely this can't be true. So what am I missing?
every Java book I read always had mysterious claims about threads, JVM, synchronization, garbage collection...
Does Pyhton support multiple threads? If so, then how does it handle thread-safety? If not, then you don't have to worry about it. BUt it you write simple Java programs witha single thread, you don't have to worry about threads eithers.
Pyhon is interpreted, no? THe interpreter is much like the JVM from this altitude.
Pyhton, I believe, also had garbage collection in the form of reference counting (which can leak) as well as direct 'del'etion.
I remember Ross Perot during the first election I was elgible to participate in. I voted for him. I had high hopes. He was the most viable third-party candidate in a long time, if not ever.
Yet he didn't win. Even after all of the plublicity, and the first truly viable third-party option in a long time, he didn't win.
Now was that just because Admiral Stockdale didn't know "who he was" or "why he was there"?
If XUL is done right, it can be platform independent, too. I've seen plenty of non-Mozilla flavors of XUL, such as Luxor-XUL.
If someone can sit down and standardize XUL, we can start having "XUL browsers" fetching XUL thing-client rich applications over "XTTP" which communicate back to the servers via staeful connections through a conversational SOAP interface.
That would be (and can be!) "platform independent".
vote for the person that best represents your beliefs and goals
I sometimes wonder about that. I certainly think my representatives should represent me. But am I choosing someone who I believe hinks represents me, or someone who I believe has a duty to represent me? THe former can never be a perfect match and the latter is impossible to execute.
Now, I'm not trying to sway you the other way (I'm debating the same thing), but if you continue to vote for 3rd parties, by the time the dems wake up and realize they need to change, it may already be too late. We may be ain a World War III (everyone versus us), electronic voting could already be in place, ready to tweak elections as necessary, etc.
Yet, if we do just vote for the lesser of two evils, what really changes?
How the hell did our forefathers not see this coming?
What about XUL? Throw away the need to be contained in HTML and make a real thin-client markup language. Then, if you need to display HTML (you know, hyper-text-markup-language, not web applications), you do it using the XUL tag for an HTML widget. XUL tags are course enough that it could be used on multiple platforms, rendered specially for the handicapped, etc.
If we're truly talking "next generation" here, do somethign revolutionary enough to truly be advantageous, not something pitifully incremental.
Now, extend this to drugs that are developed with at least partial government funding? Shoud drug companies be allowed to patent those even though public money helped out?
Is what you're saying that is because management may want to run arbitrary queries, everything shoudl be in an RDBMS? What I was sayign is that it makes sense for some things to be in an RDBMS when you need to run arbitrary queries. BUt often times, those things do not need to be done.
And besides that, I am suggesting that other arbitrary queries do walk the the portion of the object graph they're concerned with. If you're familiar with XML and XPath then you may want to look at something like JXPath (it is Java-specific, though). Other OOBDBMS do have their own query languages. I've heard there are standards too. The point is, a good OODBMS will be able to efficiently walk the object graph looking for data.
The whole point of using an OOBMS is to have fast, transparent persistence. With object-relational tools, you can get the convenient transparency, but there is the impeadance mismatch -- objects are not rows. Something that can persist your object directly does not have to worry about that.
With an "object" is that the data is only accessed through the objects methods, so integrity can be asserted in one place. As soon as you stick the data in an RDBMS, people can change it all they want. Your data integrity can be screwed, unless you duplicate or soley contain your business logic in the database, say,as stored procedures (the whoole point of the/. post, right?). An OODBMS would instead still force people to go through the object, not bypassing any methods.
There was a nice site,s omething like oodbmsfacts.com, that I can't find anymore. But they had some very interesting points about it all. Personally, I just want simple object persistence for the general case where I don't want my objects in memory lost. If I feel I need general querying, or dyanmic reporting, then I'll stick that data in an RDBMS (insurance policy database, electronic yellow pages, etc.).
Personally, I think way too much stuifdf is stored in RDBMSs. I work as a Java programmer in a non-IT industry, and everyone is happy-go-lucky about making every object map to a table. But its a huge impeadance mismatch. We have layers of DTO, DAO, VO, etc. in the way.
I think the world would be a better place if most of the typical day-to-day was stored in an object-oriented, transparent database, and the relational database was left for storing things where an RBMS really shines (arbitrary relational queries, etc.).
Once you've gone the way of an OOBMS, you have objects, so naturally all of your logic stays in your objects. The fact that your objects happen to be persisted for you is irrelavent. All you car eis that you have your objects.
I did try rearranging the toolbars in Firebird/FireFox/whatever-it-is-today, btu I couldn't get any more flexibility that I could in the old Netscapes. I could rearrange the rows, but I couldn't combine rows, or shrink toolbars and have the overflow arrow (which is a huge flexibility, not a cop-out).
The HTML for links bothers. I've gotten very use to eahc favorite being files. I can create links so it appears in multiple locations, rename them in my shell (i.e. command prompt, explorer, etc.).
Sure Firefox has features IE doesn't. BUt I'm not addicted to those. Yet:)
You're referring to the Mozilla/FireFox users, right?
Look, I'm an IT worker. I program all day at work and then I come home and do mroe programming. I also tinker around with new software, keep up on /. and several other sites specific to my areas of expertise, and you know what else?
I run Windows XP and IE. Is it full-proof? Absolutely not? I've lost my crap to an MS crash before (mind you, those were hard-drive failures, or pre-NT-kernel). When I first started using dialup and playing with WINS as a teenager, I once found 20 strangers connected to my PC.
I've encountered problems, dug into them, fixed them, worked aorund them, and learned to prevent and/or avoid them.
Now things like my browser, I want to be able to use without thinking about it. I don't want to have to worry about nasty, complex upgrades (I'm assumign upgrading FireFox is no better than the uninstall/reinstall upgrade plan for Thunderbird). And then there's the things I also enjoy about IE, like HTML in the taskbar, bookmarklet,s flexible tolbars, file-system-based favorites, etc.
Call me an end-user if you want to be wrong. I am perfectly aware of the kinds of vuilnerabilities in IE and I do best not to stick my browser in dirty places to avoid these. But until the risk increases (or manifests itself to me personally) or MOzilla/FireBird get easier to use from install to every-day usage, I ain't switching.
Have you ever seem a simple neural network? I took a couple of artificial nerual network classes in college because of some pedestrian interest in the subject. How abotu a 7-neuron text-to-speech engine with 95% accuracy? How about only 30 neurons to keep a car on the road?
Now, consider that the human brain has on the order of 100 billion neurons. Can you even begin top fathom the near-infinite number of states this huge system can be in? Think of the thousands of inputs from all over ytour eyes, ears, nose, tongue, skin. Think of the huge variations of nerual network configurations in the brain.
I for one am not naive engouh to suggest that we are anywhere NEAR ready to simulate this level of complexity, nor measure and predict it. Even in the Matrix, they simply tapped the inputs and the outputs. I do believe it is entirely possible that "free will" is just a conventient label for that big mess of neurons, and its connections to the environment. It's one big feedback loop.
You've jumped the gun a bit. Just because 50% of the people you've observed hav violated the speed limit doesn't mean they think it's a bad law. Do you think robbers all think stealing shoudl be legal? Do you think murderes all believe it shoudl be legal to murder?
I'll give you a sample. I've sped before. And I've been ticketed for it. Yet I don't think repealing speed limits or increasing them significantly would do any good. IN fact, it would scare me to see most of the morons out there driving at ever-increaing velocities.
Not all who violate the law think it is a bad law.
I've always wanted to see...
// ... // ...
// ...
public class Object {
public static boolean equals(Object o1, Object o2) {
if(o1 == null) {
return (o2 == null);
}
else {
return o1.equals(o2);
}
}
}
Then we could to this...
Object a = null;
Object b = null;
if(Object.equals(a, b)) {
}
OK, so make Pyhton into python-bytecode, throwing in a Python Virtual Machine with HotPlace runtime optimizations.
HOLD IT!
Everyone on Slashdot knows that if you came from C++ and now say Python is better than Java, you are further obliged to say how nothing can outperform C++, especially some two bit interpreted language like Python, runtime optimizations or not.
Now finish your job!
I don't know Python, so I apologize for not meeting that crieria, but I wanted to reply anyways...
Java 101 public class MyMainClass { public static void main(String[] args) { System.out.println("Hello, World!"); } }
That shoudl look pretty familiar to C++. And you didn't need any books, I bet, to read and understand that. Hell, I didn't use any books to write it either!
As others have pointed out, what's compelx about Java is the sheer number of APIs. Even the standard ones are countless, not to mention the many, many, many might-as-well-be-standard third-party libraries. BUt you don't need books. All you need is the javadocs, which every standard or third party library I've used has with it. You just don't write code without wiritng the javadoc comments and then the documentaiton is done. Well, ok, when the deadline comes and goes and people are breathing down your neck, you start to skimp on the javadoc comments :)
Now, I Don't know Python, so educate me? IF you can fit it all in your head, how do you access a database with Python? Write a GUI? CReate an HTTP server? Read and parse a JPEG?
My bet, unless someone says otherwise, is that you either use a standard Python librayry (meaning Pyhton isn't as small as you suggested), you rely on a third-party library (meaning, Pyhton is small, but you still can't fit it all in your head if you count the third-party libraries), or you write it yourself (meaning you have to have books on how to write that stuff, lest you have it all crammed in your head).
And what of the other languages? Did you dump them as well? Everything you do now and ever have done would be done best with Ptyhon because it is the "best"?
Please, please, DO NOT LOOK TO J2EE as an enterprise framework. At the high level, there's a lot of nice ideas. And some of the APIs are pretty good (i.e. servlets). But it is littered with over-designed, over0engineered, cumbersone to use APIs. Piecewise, you can make good with it, but as a whole, it is a bumbling bohemoth!
Python...comprehensive standard library
Sure, it doesn't have a standard GUI toolkit...
The XML parsers... some are absed on the W3C stuff (i.e. supporting a standard) and others are avilable that overcome the shortcomings. That's called choice.
Java comes with not one, but two standard GUI toolkits, and SWT is a viable alternative. I'm sure there are others. YEt Python doesn't come with any standard one and it has a comprehensive standard library? Does Pyhton trump the need for GUIs? Obviously not if there are GUI libraries available outside of the standard comprehensive library. Maybe I'm confused. Explain!
Learning about Lambdas functions.... they sound a lot like the "funcktor pattern" but that instances of the functor can be created with various arguments. i.e. in Java...
// ...
// returns 42 // returns 43
public class Incrementor {
public static Incrementor makeIncrementor(int pAmount) {
return new Incrementor(pAmount);
}
private int amount;
public Incrementor(int pAmount) {
this.amount = pAmount;
}
public int evaluate(int pArg) {
return this.amount + pArg;
}
}
Incrmentor f = Incrementor.makeIncrementor(42);
f.evaluate(0);
f.evaluate(1);
OK, I'm not a Python programmer (and frankly, all of this Pyhton chest-thumping isn't doing anything for its cause), but what I think I see above is a bunch of anonymous functions and on-the-fly function definitions. I've done at least part ofthat in ECMAScript. Yeah, that's right, JavaScript. Surely this can't be true. So what am I missing?
OK, I'll bite. What's so wide, wide, wide about Python?
By applying the visitor pattern and functor pattern, in Java, you can write...
collection.visit(doSomethingFunctor);
That is, allow the operand to visit each item in the collection.
every Java book I read always had mysterious claims about threads, JVM, synchronization, garbage collection...
Does Pyhton support multiple threads? If so, then how does it handle thread-safety? If not, then you don't have to worry about it. BUt it you write simple Java programs witha single thread, you don't have to worry about threads eithers.
Pyhon is interpreted, no? THe interpreter is much like the JVM from this altitude.
Pyhton, I believe, also had garbage collection in the form of reference counting (which can leak) as well as direct 'del'etion.
So, I fail to see your point?
I remember Ross Perot during the first election I was elgible to participate in. I voted for him. I had high hopes. He was the most viable third-party candidate in a long time, if not ever.
Yet he didn't win. Even after all of the plublicity, and the first truly viable third-party option in a long time, he didn't win.
Now was that just because Admiral Stockdale didn't know "who he was" or "why he was there"?
If XUL is done right, it can be platform independent, too. I've seen plenty of non-Mozilla flavors of XUL, such as Luxor-XUL.
If someone can sit down and standardize XUL, we can start having "XUL browsers" fetching XUL thing-client rich applications over "XTTP" which communicate back to the servers via staeful connections through a conversational SOAP interface.
That would be (and can be!) "platform independent".
vote for the person that best represents your beliefs and goals
I sometimes wonder about that. I certainly think my representatives should represent me. But am I choosing someone who I believe hinks represents me, or someone who I believe has a duty to represent me? THe former can never be a perfect match and the latter is impossible to execute.
Now, I'm not trying to sway you the other way (I'm debating the same thing), but if you continue to vote for 3rd parties, by the time the dems wake up and realize they need to change, it may already be too late. We may be ain a World War III (everyone versus us), electronic voting could already be in place, ready to tweak elections as necessary, etc.
Yet, if we do just vote for the lesser of two evils, what really changes?
How the hell did our forefathers not see this coming?
Well, if we never went to war in Iraq, then maybe the Abu Gahrib prison scandal wouldn't have... oh, wait... we're NOT talking about the Iraq war?
What about XUL? Throw away the need to be contained in HTML and make a real thin-client markup language. Then, if you need to display HTML (you know, hyper-text-markup-language, not web applications), you do it using the XUL tag for an HTML widget. XUL tags are course enough that it could be used on multiple platforms, rendered specially for the handicapped, etc.
If we're truly talking "next generation" here, do somethign revolutionary enough to truly be advantageous, not something pitifully incremental.
Now, extend this to drugs that are developed with at least partial government funding? Shoud drug companies be allowed to patent those even though public money helped out?
Is what you're saying that is because management may want to run arbitrary queries, everything shoudl be in an RDBMS? What I was sayign is that it makes sense for some things to be in an RDBMS when you need to run arbitrary queries. BUt often times, those things do not need to be done.
/. post, right?). An OODBMS would instead still force people to go through the object, not bypassing any methods.
And besides that, I am suggesting that other arbitrary queries do walk the the portion of the object graph they're concerned with. If you're familiar with XML and XPath then you may want to look at something like JXPath (it is Java-specific, though). Other OOBDBMS do have their own query languages. I've heard there are standards too. The point is, a good OODBMS will be able to efficiently walk the object graph looking for data.
The whole point of using an OOBMS is to have fast, transparent persistence. With object-relational tools, you can get the convenient transparency, but there is the impeadance mismatch -- objects are not rows. Something that can persist your object directly does not have to worry about that.
With an "object" is that the data is only accessed through the objects methods, so integrity can be asserted in one place. As soon as you stick the data in an RDBMS, people can change it all they want. Your data integrity can be screwed, unless you duplicate or soley contain your business logic in the database, say,as stored procedures (the whoole point of the
There was a nice site,s omething like oodbmsfacts.com, that I can't find anymore. But they had some very interesting points about it all. Personally, I just want simple object persistence for the general case where I don't want my objects in memory lost. If I feel I need general querying, or dyanmic reporting, then I'll stick that data in an RDBMS (insurance policy database, electronic yellow pages, etc.).
I'm asking for it, aren't I?
Personally, I think way too much stuifdf is stored in RDBMSs. I work as a Java programmer in a non-IT industry, and everyone is happy-go-lucky about making every object map to a table. But its a huge impeadance mismatch. We have layers of DTO, DAO, VO, etc. in the way.
I think the world would be a better place if most of the typical day-to-day was stored in an object-oriented, transparent database, and the relational database was left for storing things where an RBMS really shines (arbitrary relational queries, etc.).
Once you've gone the way of an OOBMS, you have objects, so naturally all of your logic stays in your objects. The fact that your objects happen to be persisted for you is irrelavent. All you car eis that you have your objects.
I did try rearranging the toolbars in Firebird/FireFox/whatever-it-is-today, btu I couldn't get any more flexibility that I could in the old Netscapes. I could rearrange the rows, but I couldn't combine rows, or shrink toolbars and have the overflow arrow (which is a huge flexibility, not a cop-out).
:)
The HTML for links bothers. I've gotten very use to eahc favorite being files. I can create links so it appears in multiple locations, rename them in my shell (i.e. command prompt, explorer, etc.).
Sure Firefox has features IE doesn't. BUt I'm not addicted to those. Yet