Although writing efficient code is important, I think that keeping the code in good style and organized and in general easy to maintain is much more important than efficient code.
Write maintainable code, then tune your code to be effiecient. I've seen people make the most convoluted code just to save a couple milliseconds. Write good code then find where the biggest slowdowns are and make them more efficient.
Could the people posting the stories please put their comments with everybody elses instead of with the story. We don't all have the same opinion as you and you are biasing the story.
Why don't people just play nice. I mean if you are going to link to a page and you are not sure if the people want you to do so, ask them out of politeness. We shouldn't be making a law about this. I don't understand why people don't just respect other people's wishes. We don't have to make a law about this. Just because it is there is no law against it doesn't mean it is right. Respect peoples wishes when it comes to these issues. Why does our society feel obligated to determing what is o.k. to do and what is not o.k. to do by making a law for everything. Simply place nice with each other. If they don't want you to link to their site, don't out of decency. Not because there is some law against it.
Unless of course the license that you accept states that your use of the software can be terminated at any time for any reason by the owner which many commercial licenses contain a similar clause
Does anybody else feel that all the programmers have become a bunch of lawyers? It just seems we spend more time today worrying about what code/documentation has what license that we spend actually designing and writing code.
Well, even that method is not that great either. The GUI's end up being slow because they are processing text output. Not to mention that command line interfaces can't display information like GUI's can so for things like charts and stuff the GUI then has to run several commands, combine and process information in order to display it.
The proper method IMHO is to to just seperate your model completely, and have your controller and view linking to it.
Take gdb for example. The program has great functionality, but it is tied to the command line interface. So all programs that wrap it with a GUI must then process that text output making them perform horrible. It seems to me what should have been done is provide a object file that has all the various functions and variables for getting information about debugging a program. And then write a CLI that links to this object file and uses those function to produce it's text output. Then later if someone wanted to write a GUI, then they could link to the same object file with their fancy graphical interface and have direct access to the same functions and variables that the CLI has instead of just access to the output of the CLI.
So basically what I am saying is that the CLI is a controller and view just like the GUI. I agree with you that functionality and interface need to be seperated, and am just trying to say that CLI is an interface also and needs to be seperated just like the GUI.
Just a couple of comments to your comments on Java. Note that I am not saying that Java is the best language in the world. My philosophy is choose the language best for the job. But I think that maybe you should expand your horizons a bit with programming languages. C isn't all roses either. (C has it's place, but again choose the language for the job).
First your complaints: 1. No pointers. It can't possibly be a programming language. Well, what can I say about this thought provoking comment (yes there is sarcasm there). First of all it could be decently argued that Java does have pointers (just not in the sense that C does). Excluding the primitive types (int, char, etc.) variables are references to objects. These references are pointers, although they are a bit restrictive. The reference is type bound to a specific object type so you have to cast it either explicitly or implicitly to have it point to a object that is not it's type, but C pointers have this issue also. IMHO typeless references to objects like found is Squeak (based on Smalltalk ) is much better. But even if you don't count references as pointers many good languages don't really have a pointer and we consider them good. From my (very limited) experience in functional languages there really isn't pointers. Just lists and atoms. So not having pointers is not a bad thing depending on how the rest of the language is implemented.
2. People say it has no #includes, yet there continues to be this funny, mystical command called 'import'... I see why you would think these are the same since they seem like they have similar functionality. But they are actually pretty different. #includes are pre-processor commands that actually insert the text in that place before the code is run through a compiler. imports are more like namespacing in C++. You don't have to import a object or set of objects before using them. If those objects are in your classpath then java will already know about them. The only thing that importing does for you is allow you to not have to type the fully qualified name. This is vastly different than #including. Go back to your class if you don't understand this becuase any class should have made this clear.
3. Strings are a class!!!/* snip the rest of this complaint */ This is a good thing. It gives a string a formal defination instead of merely being a pointer to a bunch of characters (like C does). Given the equals method isn't exactly intuitive. A actual == would have been much better, but in order to do that Java would have to allow operator overloading which I don't believe it does. You could argue that it should have operator overloading, but as we have seen this can easily lead to abuses of operators (see C++ for a good example of this. Yea, lets use the bit shift operator to output to a stream). So what I am saying is that by having a string as an object makes it better because it makes a string more formally defined, and it allows it to be more uniform with the rest of the language. AKA a good thing.
4. Java treats everything like an object./* snip the rest of this complaint */ Another good thing. Actually one of my biggest complaints is that it doesn't treat everything as an object. It still also has primitives. This causes confusion by having both and Integer object and an int type. (there are also other primitives that are duplicated as objects). I'm not saying all languages should be all objects, but my thought is that you should choose one or the other. Either all primitives or all object. This mixing just causes confusion and inconsistancies in the language. That said, Java treating most everything as an object comes from Smalltalk. Smalltalk (such a great language) literally did treat everything as an object. This provided a very easy, simple, yet powerful language. The grammer of the language is basically just [object] [message] [period]. Very simple, very elegant. By Java treating most everything as an object they are creating a very small consistant environment. C has forty million types (although maybe I'm exaggerating a bit), Java (minus those annoying primivates) just has one. A reference to an object (although as stated earlier these reference to the object are to a specific type of object basically voiding this great feature).
As to your comment of Java being a cross between C and Pascal I would disagree. I would best describe it as the syntax of C crossed with the design of Smalltalk. The only major annoyance that I see is that they didn't take enough of the Smalltalk design and use some of the C design causeing inconsistancies in the language.
As to the java compilers written in java I see no problem with this. GCC is very cross platform, but it pays a price for that by have a bunch of code to deal with platform issues. A java compiler will work under any platform without the extra code. There is the speed issue, but this could be removed by compiling the compliler to native code (GCC and I think the symantic compiler will do this).
So, yes Java has some faults, but IMHO I think it is still a pretty nice language (although you can probably tell that I am partial to Smalltalk when it comes to OO languages). The complaints you bring against it are pretty much unfounded and if I were you I would consider doing two things:
Get your money back on that course you took, becuase there are some important concepts that they did not teach you.
Learn some other languages. You seem a bit set on C. You know what they say. When all you have is a hammer everything looks like a nail. That way when you have a project to do you will be familiar with many language and can then pick the best langauge for the job.
Also please note that I am not trying to offend you in any way. Just trying to correct some things you asserted. Feel free to do the same to me as I'm sure their will be many false assertions:)
All three of these have it so the user can set up their own hotkeys for windowmanager actions. I'm personally partial to sawmill. The configuratability of Emacs, looks of Enlightenment, and very light.
Only anti-Linux FUD or all FUD?
on
Stopping the FUD
·
· Score: 5
It seems to me that a lot of FUD comes from the Slashdot community itself. They scream bloody murder when someone states something wrong about Linux, but they themselves say blatent wrong things about the other non-Linux software. Especially against Microsoft and Apple. If you really want to stop the FUD then I would suggest starting with the Slashdot comments (and sometimes main story post).
I wonder if China started planning trips to Mars would the US's space program try to speed things up on it's own planning? Maybe end up starting another space race type thing?
Well, I'm usually not much for shameless promotions, but I really think this may be something you might be interested in.
I work for the Southern Regional Education Board and we run a web site called the Electronic Campus which is a basically a collection of many courses and degree programs that are offered by various universities and colleges in the southern region. Visit this page for a list of the participating universities.
We don't actually run the courses ourself. If you had to descibe the purpose of the site, think of it as a search engine for distance learning courses offered by universities in the southern region.
All courses and programs are accredited, and go through a pretty rigourous (sp?) check to make sure that they are quality courses.
Although I only run the technical side of things I know many of the people in the administrative side of it, and am fairly knowledegable of the program. So if you have any questions feel free to send me a message.
they can't simply type "w" and see who's logged in
There is a program in windows that does allow you to see who is accessing your shared files. I forgot the name of it, but it comes with windows (although I am not sure that it is installed by default).
Re:do AIBOs dream of electric sheep?
on
The Onion on AIBO
·
· Score: 1
Yes a nice reference to good old Phil. While were on the topic what does everyone think of these new Bladerunner++ books? Bladerunner 3 was a bit icky.
Although writing efficient code is important, I think that keeping the code in good style and organized and in general easy to maintain is much more important than efficient code.
Write maintainable code, then tune your code to be effiecient. I've seen people make the most convoluted code just to save a couple milliseconds. Write good code then find where the biggest slowdowns are and make them more efficient.
I got two comments:
Unless of course the license that you accept states that your use of the software can be terminated at any time for any reason by the owner which many commercial licenses contain a similar clause
Does anybody else feel that all the programmers have become a bunch of lawyers? It just seems we spend more time today worrying about what code/documentation has what license that we spend actually designing and writing code.
Well, even that method is not that great either. The GUI's end up being slow because they are processing text output. Not to mention that command line interfaces can't display information like GUI's can so for things like charts and stuff the GUI then has to run several commands, combine and process information in order to display it.
The proper method IMHO is to to just seperate your model completely, and have your controller and view linking to it.
Take gdb for example. The program has great functionality, but it is tied to the command line interface. So all programs that wrap it with a GUI must then process that text output making them perform horrible. It seems to me what should have been done is provide a object file that has all the various functions and variables for getting information about debugging a program. And then write a CLI that links to this object file and uses those function to produce it's text output. Then later if someone wanted to write a GUI, then they could link to the same object file with their fancy graphical interface and have direct access to the same functions and variables that the CLI has instead of just access to the output of the CLI.
So basically what I am saying is that the CLI is a controller and view just like the GUI. I agree with you that functionality and interface need to be seperated, and am just trying to say that CLI is an interface also and needs to be seperated just like the GUI.
Just a couple of comments to your comments on Java. Note that I am not saying that Java is the best language in the world. My philosophy is choose the language best for the job. But I think that maybe you should expand your horizons a bit with programming languages. C isn't all roses either. (C has it's place, but again choose the language for the job).
First your complaints:
1. No pointers. It can't possibly be a programming language.
Well, what can I say about this thought provoking comment (yes there is sarcasm there). First of all it could be decently argued that Java does have pointers (just not in the sense that C does). Excluding the primitive types (int, char, etc.) variables are references to objects. These references are pointers, although they are a bit restrictive. The reference is type bound to a specific object type so you have to cast it either explicitly or implicitly to have it point to a object that is not it's type, but C pointers have this issue also. IMHO typeless references to objects like found is Squeak (based on Smalltalk ) is much better.
But even if you don't count references as pointers many good languages don't really have a pointer and we consider them good. From my (very limited) experience in functional languages there really isn't pointers. Just lists and atoms. So not having pointers is not a bad thing depending on how the rest of the language is implemented.
2. People say it has no #includes, yet there continues to be this funny, mystical command called 'import'...
I see why you would think these are the same since they seem like they have similar functionality. But they are actually pretty different. #includes are pre-processor commands that actually insert the text in that place before the code is run through a compiler. imports are more like namespacing in C++. You don't have to import a object or set of objects before using them. If those objects are in your classpath then java will already know about them. The only thing that importing does for you is allow you to not have to type the fully qualified name. This is vastly different than #including. Go back to your class if you don't understand this becuase any class should have made this clear.
3. Strings are a class!!! /* snip the rest of this complaint */
This is a good thing. It gives a string a formal defination instead of merely being a pointer to a bunch of characters (like C does). Given the equals method isn't exactly intuitive. A actual == would have been much better, but in order to do that Java would have to allow operator overloading which I don't believe it does. You could argue that it should have operator overloading, but as we have seen this can easily lead to abuses of operators (see C++ for a good example of this. Yea, lets use the bit shift operator to output to a stream). So what I am saying is that by having a string as an object makes it better because it makes a string more formally defined, and it allows it to be more uniform with the rest of the language. AKA a good thing.
4. Java treats everything like an object./* snip the rest of this complaint */
Another good thing. Actually one of my biggest complaints is that it doesn't treat everything as an object. It still also has primitives. This causes confusion by having both and Integer object and an int type. (there are also other primitives that are duplicated as objects). I'm not saying all languages should be all objects, but my thought is that you should choose one or the other. Either all primitives or all object. This mixing just causes confusion and inconsistancies in the language. That said, Java treating most everything as an object comes from Smalltalk. Smalltalk (such a great language) literally did treat everything as an object. This provided a very easy, simple, yet powerful language. The grammer of the language is basically just [object] [message] [period]. Very simple, very elegant. By Java treating most everything as an object they are creating a very small consistant environment. C has forty million types (although maybe I'm exaggerating a bit), Java (minus those annoying primivates) just has one. A reference to an object (although as stated earlier these reference to the object are to a specific type of object basically voiding this great feature).
As to your comment of Java being a cross between C and Pascal I would disagree. I would best describe it as the syntax of C crossed with the design of Smalltalk. The only major annoyance that I see is that they didn't take enough of the Smalltalk design and use some of the C design causeing inconsistancies in the language.
As to the java compilers written in java I see no problem with this. GCC is very cross platform, but it pays a price for that by have a bunch of code to deal with platform issues. A java compiler will work under any platform without the extra code. There is the speed issue, but this could be removed by compiling the compliler to native code (GCC and I think the symantic compiler will do this).
So, yes Java has some faults, but IMHO I think it is still a pretty nice language (although you can probably tell that I am partial to Smalltalk when it comes to OO languages). The complaints you bring against it are pretty much unfounded and if I were you I would consider doing two things:
Also please note that I am not trying to offend you in any way. Just trying to correct some things you asserted. Feel free to do the same to me as I'm sure their will be many false assertions :)
All three of these have it so the user can set up their own hotkeys for windowmanager actions. I'm personally partial to sawmill. The configuratability of Emacs, looks of Enlightenment, and very light.
It seems to me that a lot of FUD comes from the Slashdot community itself. They scream bloody murder when someone states something wrong about Linux, but they themselves say blatent wrong things about the other non-Linux software. Especially against Microsoft and Apple. If you really want to stop the FUD then I would suggest starting with the Slashdot comments (and sometimes main story post).
I wonder if China started planning trips to Mars would the US's space program try to speed things up on it's own planning? Maybe end up starting another space race type thing?
Just a thought.
Well, I'm usually not much for shameless promotions, but I really think this may be something you might be interested in.
I work for the Southern Regional Education Board and we run a web site called the Electronic Campus which is a basically a collection of many courses and degree programs that are offered by various universities and colleges in the southern region. Visit this page for a list of the participating universities.
We don't actually run the courses ourself. If you had to descibe the purpose of the site, think of it as a search engine for distance learning courses offered by universities in the southern region.
All courses and programs are accredited, and go through a pretty rigourous (sp?) check to make sure that they are quality courses.
Although I only run the technical side of things I know many of the people in the administrative side of it, and am fairly knowledegable of the program. So if you have any questions feel free to send me a message.
they can't simply type "w" and see who's logged in
There is a program in windows that does allow you to see who is accessing your shared files. I forgot the name of it, but it comes with windows (although I am not sure that it is installed by default).
Yes a nice reference to good old Phil. While were on the topic what does everyone think of these new Bladerunner++ books? Bladerunner 3 was a bit icky.
just my little mumble
-eman