Re:oh, and what's the next release of Java have?
on
How C# Was Made
·
· Score: 2, Informative
Unfortunately, Java gets most of these features at a superficial level, since it has to support older VMs. Sun sees that C# has these things and that developers want them, so they give them as much of the syntactic advantage as they can without "breaking" their older VMs... its really a shame.
The Microsoft CLR has support for many of these features (and others) built into the underlying framework. As a result, things like Generics in C# are about a hundred times as functional and advantageous than they are in Java. Read the article that was linked to in this story, and it will readily become clear that Java is playing catch up at this point. The C# creators really thought of these things *up front* and designed the framework for them, and it really shows.
One of the best examples of this in the interview is that of generics. In C#, if you declare a List of Customers (List), you can see that all the way down to the Reflection/introspection level. It really, genuinely is a List of Customers. However, in Java, because they have to live with their inferior framework, a List of Customers at the Reflection level is a List of Objects... hence, its just an illusion. You get the type checking at compile time, but lose performance advantage and true Generics support.
Thank God for the folks at Ximian though! I really like much of the.NET development framework, and now I can use it on UNIX based systems. I am still waiting for a nice release that will fully run on Mac OS X though.
I think that you are mistaken here. Apple doesn't need any more contracts, since it already has contracts with all five of the major labels, and the independent labels are reportedly itching to get in on it as well! The model has succeeded already, by giving us a way to purchase current music legally and easily electronically. This is a good thing.
Now, as far as the RIAA is concerned, and your comments about artist compensation, a lot remains to be seen. I envision independent artists and smaller labels being able to distribute music much easier through the iTunes Music Store, and offering them potential for success. They could release a few "singles" for free on the Music Store, and then hope that people buy more songs, or the whole album. And since they aren't producing any CDs, they have less overhead, and can get more of the profits. Just a thought on how the future could be bright.
Sorry man, you are actually wrong again =) The kernel of Mac OS X is something called Darwin, which is heavily based on *BSD, and specifically is highly inspired by FreeBSD. It is 100% UNIX. Not like Windows+cywin, since the kernel of OS X is actually a 100% fully blown UNIX. People are running it on x86 hardware too!
You also say that "the GUI isn't UNIX." Well, I challenge you to tell me of a GUI that *is* UNIX. UNIX and windowing systems have nothing to do with each other. You need to have a better understanding of the issues before you blast Freshmeat for this.
Freshmeat's policy of UNIX-like operating systems holds perfectly true here. OS X is as much a UNIX as Linux, FreeBSD, AIX, Solaris, or OpenBSD.
And, you can't interpret "UNIX-like" loosely enough to call Windows + Cygwin UNIX. I don't even want to have to argue that =)
Yep, you can code everything inside Project Builder. You create your interface, connections, and outlets in Interface Builder.
There is no syntax highlighting for Python in project builder just yet, but I am sure that some creative person can make that happen soon enough. Apple might even implement it if they like the idea of a Python/Cocoa integration.
Can you mix with 3rd Party ObjC classes? I am pretty sure that you can, since this is a Python/Obj-C bridge. I haven't tried it myself, but I am pretty sure that its possible.
The best thing is actually interfacing your Objective-C objects with native Python objects. Create a complex Python data structure, full of lists, objects, tuples, and dictionaries, and then you can use it as the model (MVC) for your application in Cocoa!
You've had no interest in Python? Well, head over to http://www.python.org, and click on the tutorial. Its a great little language, its shipped by default with OS X 10.2, and its trivially easy to learn.
This is absolutely excellent news! I downloaded this the second I read the article, and I have been playing with it for a few hours now. It works almost flawlessly. The only thing that could really make this better is if Apple picked it up and integrated Python as a first class citizen along with Java and Objective-C in Interface Builder and Project Builder.
People may ask "what's the point?" Well, for starters, Python is absolutely fantastic for building things quickly, especially for complex object or data structures that would take much more time to implement in Objective-C or Java.
On top of this, Python is much better suited for Cocoa than Java! Apple implemented the Java-Cocoa bridge mostly for the sake of having Java be a "supported language." But, since Java is inflexible and strongly typed, it doesn't really fit into the Objective-C model that Cocoa relies on. Python on the other hand is perfectly suited for Cocoa. Python is weakly typed and can handle the dynamic runtime of Cocoa a lot better than a language like Java.
In addition to this, Python's runtime is much more compact than Javas, and manages to load much more quickly. Just fire up Terminal.app and type "python"... you will see the interactive Python interpreter fire up within a second. Its an amazing little language =)
I am very excited about the potential of this Python/Cocoa implementation! In the first hour or so since I installed this, I was able to take an existing Python backend and add a quick Cocoa frontend, using nothing but the standard OS X Development Tools.
The Quartz rendering that you speak of was already completed for 0.2 and it is what provides the beautiful antialiased (smoothed) text that you see already in Chimera. So, don't worry the speed you see now will probably only improve! It actually appears to be *much* faster than the stiffest competition (OmniWeb) for me.
Summary: have no fear, that Quartz rendering is already here =)
The selection of the title of this article is very disappointing and misleading. I wish that slashdot would have done a bit more research before posting this article.
To clarify - noone has stated in any way that GNOME will *ever* use.NET. It just happens that Ximian is implementing the ECMA Standard for.NET and a few other pieces to offer compatibility with some.NET applications, and to provide a better platform for them to write their own applications with.
What was released yesterday is called GTK-Sharp, which is simply a set of language bindings for GTK to enable people to use C# to write GTK programs. Now, when the python bindings to GTK were released, it would be equally foolish to state that "The GIMP is one step closer to being written in Python." Think before you post articles, please.
As far as the announcement itself is concerned, I am very pleased. I am intrigued by the possibility of a sanely designed cross-platform language independent solution for developing applications and web services. I really like the idea of a common class library and the common intermediate language. The guys at Ximian are doing some great work. Keep it up!
I am a long time Linux and UNIX user. I began running Linux exclusively fairly early in its life cycle, and thus I require a nice UNIX environment for my day to day life.
About 3 weeks ago, I purchased an Apple Titanium PowerBook G4 with the intent of installing Linux on it. Since then, my experiences with OS X have made me reconsider.
I started out quite skeptical, but was pleasantly surprised to find many of my favorite Linux/UNIX applications available. Step 1 was to install Fink. Fink is a source and binary distribution of UNIX applications and utilities for OS X. I installed it quickly, and was able to use the debian-like commands (apt-get install!) to get Python, rootless XFree86, and bash installed. Fink can be found at http://fink.sourceforge.net.
Since then, I have grown used to the excellent environment that they have built, Its very refreshing to see such a usable and powerful desktop environment based around a standard UNIX kernel!
Now, there are some caveats. Some of the standard locations for things don't make sense. For example, the/etc/hosts file exists, but does not appear to be used. Instead, you must use Apple's NetInfo manager. Additionally, the base compiler's supplied with Apple's developer tools have some differences that make porting a little bit interesting. Overall though, its a great UNIX environment.
I am extremely happy with the UNIX side of Mac OS X, but I am equally impressed with the amazing usability and cool technology of Aqua and Quartz. Very cool stuff.
If you have any questions about my experience, feel free to post them here and I will do my best to respond.
Just a quick note to all you slashdotters. The GNOME project is not dead. The GNOME project is not falling apart. In fact, things are going quite well. In every software project of this magnitude, free or not free, flamewars break out amongst developers occasionally, and are generally solved. The difference here is that GNOME is kind enough to be free in not only its software, but most of its mailing lists. They are not able to immedialtly cover things up like their closed source competitors.
Here is a better summary of what happened this past weekend. The release coordinator, Martin Baulig, has been working *very* hard and at an astonishing rate. His school work was suffering, and some people were criticizing a technical decision that he had made. Martin got very frustrated, and made a post that he probably shouldn't have in a tone that he probably shouldn't have. But, honestly, all of us have said things that we really didn't mean to when we have been frustrated.
As a result of his post, a massive flamewar developed concerning the technical decision itself, maintainership of GNOME, how decisions are made, etc. In the end, it appears that only constructive discussion is going on now to put in place a process for proposing changes to GNOME before they are made. Havoc Pennington has written a nice process similar to the Python Enhancement process. While it is in discussion now, and will likely change a lot, it has very much promise!
As a long time GNOME user and a developer, I am actually *more* excited about GNOME right now after seeing a damaging argument turn into something productive. Every project is going to have bumps, but the measure of the project's maturity is how they deal with it. GNOME certainly hasn't handled it perfectly, but the GNOME development community is learning from its mistakes, and working to prevent them and grow in the future. So, stop complaining about "GNOME is dead", "the linux desktop is dead", and spouting off useless insults. It is clear to me that not only is GNOME alive, but it is growing in maturity.
Python is great, and I use it all the time, but I have an annoyance that I would love to see corrected.
Currently, Python's standard modules provide much functionality, but are a mish-mash of submitted modules that are largely uncategorized. Java provides a much better organization and naming scheme that could be carried over to Python.
For example, when importing the Python HTTP modules (httplib), currently, I do one of the following:
import httplib from httplib import *
Java has a categorization structure imposed to make things a bit clearer. I would prefer if this same kind of structure was imposed in python. So, the above would then become something like one of the following:
import python.net.http from python.net.http import *
I think that this could really enforce a cleaner organization and make it easier to identify where modules belong, and what they do, just by looking at their organizational location.
I am a long time Python developer and fanatic. I have long enjoyed using python because of its Object Oriented nature and its faster and more open development process than its main competitors.
While I believe Python is a great language, there is one thing that I really am missing from Python. Currently, Python uses a very antiquated reference counting method that is less than ideal. Are there any plans to re-implement the garbage collection mechanism for Python in the future? May I suggest using the more advanced generational methods of garbage collection?
Good work so far, and thanks for all you have done!
I am an artist, and code is just one outlet for my creativity. Writing, painting & sculpting are others. Since, unlike you, apparanetly, I have a fairly extensive knowledge of art, then yes, my argument makes perfect sense.
Well, that was a fairly large assumption. You seem to like making this kind of claim, that is in no way rooted in logic. I have a very respectable background in art, and I consider myself an artist of sorts as a programmer.
The mediums of expression have evolved to the point that we can not be restricted by excessive rules. Good poetry dispensed with the formality of puctuation long ago, as have all other forms of art moved beyond strict "rules" dictated by the self-proclaimed "elite" of the art world.
Strange, "good poetry" didn't part with structure and form... I wonder why that is? Generally, poetry has some form and structure to it. All the classics have a similar level of structure and form.
Perl may be a mess sometimes, but many many people have reached true flashes of absolute brilliance with it that I seriously doubt would have been possible in Python.
Well, this I find amusing. Any algorithm that you can implement in Perl can also be implemented in Python. In fact, Python is so simple and natural that I find myself attempting to express myself more, and find myself less concerned with the "finer" details of Perl.
The moderators have obviously made it clear that your claims are ludicrous, and completely void of all logic. Thank you, come again.
Excellent! May I encourage you to buy the orielly book, "Learning Python"? It is a great way to get to the nitty gritty of Python's coolness. It explains some really neat Python features like tuples, lists, and dictionaries, and how Python deals with them. Though, the online documentation and tutorials are also an excellent place to start.
I could not disagree any more on this point. *EVERY* language enforces a set of rules. Look at C for instance, each block *must* be enclosed in braces! You have to use certain kinds of variable names (specifically, you cannot start a variable identifier with a dollar sign for example).
Your argument simply does not hold water. Python allows an equal amount of creativity to any other language, and places an equal number of restrictions on the programmer. I hated the Python indentation syntax for about 20 minutes. And then it seemed very natural to me. On top of that, my code was more readable, and so was others!
Think about poetry. There are many different kinds of poetry, and most of them enforce a certain structure. Sonnets for example. These restrictions are not in place to hamper the creative expression of the author, but to allow the author to work within a common set of restrictions, so others may better understand his expressions.
Using your argument, I could claim that Punctuation stifles my creativity, and simply write every sentence in this comment without any. Now, that may be creative, but it would certainly prevent my comment from being very readable, or understandable.
Python is great, I really suggest that you get over your minimal objections, and give it another shot.
Yes, actually. The software company I work for develops almost 100% in Python. Once you learn the basics of Python and how its C extensions work, its actually truly simple.
This is great news! Python is my favorite programming language to date. It all of my favorite features that are in other languages.
For those of you that don't know much about python, I would encourage you to try it out! Coming from the following languages, here is why I would recommend python:
Java - Python has a class library the size of Java's, its VM starts up faster, and its simpler to write and maintain. Plus, it isn't controlled by Sun!
Perl - Okay, all religious issues aside here. Get real. Perl is a great language, but it has largely been extended beyond its original intent, and is straining to keep up. Python is easier to learn, develop in, and most of all *maintain*. If you have ever looked at another person's Perl code and tried to maintain it, you know what I mean. Perl is cool. Python is cooler. Give it a shot, you can even use Perl style regular expressions!
C++ - Still haven't realized that C++ is a dirty hack eh? No, all kidding aside, C++ is also a great language. Honestly though, I struggle to develop quickly in C++ because I keep running into language barriers. C++ is probably the most widely used OO language next to Java. I for one am sick of managing my own memory. Leave it to the garbage collector thanks =) If you want a really really fast OO application, write it in C++. If you want to develop a OO application really really fast -- choose Python.
C - Ahh, the great C. What a fantastic language. Fast, Fast, Fast! But, not object oriented. Now, I know in the Linux world there are a lot of C lovers, and don't get me wrong, C has many uses. But the world would benefit if people would write their apps in Python. There would be very few memory related bugs! Many times, the development cycle is slowed dramatically by C's tragically painful memory management. Programmers are dumb. We really are. We make silly off by 1 errors, that oftentimes can make a C program leak memory like a swiss cheese bucket. Write in Python. Its *so* much easier, and is perfectly fast for GUIs, and many server applications.
Python, to me, is the language of the future. It is fast, easy to lean, fun to develop in, and is just plain cool.
This is an excellent question! The company I work for produces a document delivery system, that acts as a short term EMR. It is written entirely in python and C, and can be used on Linux, AIX, and SCO Unix.
The product is excellent, and works quite well. We are currently working on some *very* cool extensions that add some awesome features that I cannot currently discuss. If you are an intersted hospital, see what the system has done for *one* hospital at:
This link
The website is out of date, but I would be happy to answer any questions about our system over email (jal@faxnet.com).
The company is VertiSoft and the product is called FaxNet. I highly suggest that you check it out!
I don't know about you, but if I lived in a third world country, I would be much more concerned about feeding my family, finding work, and dealing with oppressive governments than with finding internet access.
There is simply no need for the Internet in these countries yet. First we should concentrate on helping these other countries "catch up" to our ecomonmic and social prosperity before we go telling them that the Internet will solve all their problems!
As a Christian, I feel obligated to speak up here. First, I would like to state that all Christians are not right wing, rifle carrying, bible bashing, violence hating, morons, as Jon Katz seems to feel.
Personally, I enjoyed Katz's articles on Columbine, and appreciate his point that geeks can sometimes be singled out as "different" and therefore worse. Violent video games were not the problem!
But, now all I see from Katz is hypocracy. He singles out and generalizes an entire community of Christians as the ones that stand out against violent video games, and other such products. This, overwhelmingly, is not true. Katz is doing exactly what he condemns in his pieces on Columbine and pointing a finger of guilt at a group of people that he simply does not understand. This saddens me, and proves that Christians on a whole get a bad reputation when a small portion of the population abuses the Bible. To me, this entire article seems very Christian-phobic. Calling the entire Christian community "video game haters" or anything that you describe in the article is the same as writing off geeks that play quake as possible murderers, just like you condemn in your own article!
Honestly Katz, you really need to hang out with a few Christians and realize that there are many well educated Christians that have thought out their beliefs rationally and scientifically.
Now, on the subject of the game discussed in this article, I am all for it. I enjoy a good game of quake every once and a while, and I would also enjoy a game like this. To me, its just another action game, but this time its based upon Biblical stories (which I happen to believe are true), instead of a fictional story created by the game designers.
In conclusion, this entire article made me very sad that Jon Katz can have such a good grasp on some things, and then totally contradict himself and have no grip on another important topic.
Okay, as many of you seem frustrated and can't get it working in Netscape, here is the deal. Edit -> preferences -> navigator -> Applications. From here, find the real player item, open it, and tell it to use an application "realplay %s". The key thing here is the %s. I have no idea how to get the inline plugins working, if anyone knows, tell me.
This is only a reply to your comment about COM being a good thing, and a lack of CORBA for Linux. First off, COM is nowhere *near* as robust as CORBA, and there are many many CORBA implementations for Linux. In fact, if you don't mind using Java, I highly recommend using ObjectSpace Voyager. It runs on any platform, its ORB has a small footprint, and it interfaces with *BOTH* CORBA and COM seamlessly. Plus, it isn't linked to any particular platform. COM objects are only useful to those runinng Windows, and are usually "coded" in bloated visual development IDEs like VB. Why waste money on VB monkey's when you could hire a talented coder for about the same price and get better results? You speak a lot of time vs. money advantages. I am a developer, and I find that it is *ALWAYS* worth the extra day of development to make a product better. This probably isn't the best business practice, but it certainly is the best development practice. Your comments seem to come from the "suit" mentality, which is fine and good. Sure, you can hire monkey's to make a product that will work using inferior technology, and do it fast, but you will have a buggy product, almost definately. How do you think that Microsoft got to the top? Quick, cheap, inferior products that do the job, but not well. The true coder will always tell you that you *NEV ER* set a release date. You code a product until it is done, and then release it. Anyway, I know that this model of development doesn't fit with what a suit expects, but please broaden your mind.
Windows desktop is my replacement for a filesystem
on
Enlightenment 0.15
·
· Score: 1
Hmm, strange. GNOME is pretty damn solid for me. Yes, it does crash sometimes, but it hasn't been in development as long as KDE. Plus, it is open source in the purest sense of the term. Who could ask for more? Give GNOME another few months to bug squash, and it will be nearly perfect.
On the subject of KDE. I find it grossly ugly, in every sense of the word. It looks like win95, even with its ugly themes turned on. QT is also C++ only. GTK/GNOME allow for much more flexibility and a more advanced architecture.
KDE has its place though. On the desktop of a Linux newbie. But even that place can easily be taken by GNOME given a little more development. GNOME is currently the desktop of the more advanced user.
Wow, this comes from someone who has likely never run E15. With the BrushedMetal, SimplE, or AbsoluteE themes, your desktop will look extremely usable. OR you could try out one of the two MacOS themes, since you seem to like the UI so much.
Think before you judge. E can be made as simple or as complicated as you like.
Especially since E has become rock solid lately. I have run AfterStep or WindowMaker until a month ago when I converted to E with tigert's BrushedMetal theme, its great!
The current FTP site is dead... anyone have a mirror?
Unfortunately, Java gets most of these features at a superficial level, since it has to support older VMs. Sun sees that C# has these things and that developers want them, so they give them as much of the syntactic advantage as they can without "breaking" their older VMs... its really a shame.
.NET development framework, and now I can use it on UNIX based systems. I am still waiting for a nice release that will fully run on Mac OS X though.
The Microsoft CLR has support for many of these features (and others) built into the underlying framework. As a result, things like Generics in C# are about a hundred times as functional and advantageous than they are in Java. Read the article that was linked to in this story, and it will readily become clear that Java is playing catch up at this point. The C# creators really thought of these things *up front* and designed the framework for them, and it really shows.
One of the best examples of this in the interview is that of generics. In C#, if you declare a List of Customers (List), you can see that all the way down to the Reflection/introspection level. It really, genuinely is a List of Customers. However, in Java, because they have to live with their inferior framework, a List of Customers at the Reflection level is a List of Objects... hence, its just an illusion. You get the type checking at compile time, but lose performance advantage and true Generics support.
Thank God for the folks at Ximian though! I really like much of the
I think that you are mistaken here. Apple doesn't need any more contracts, since it already has contracts with all five of the major labels, and the independent labels are reportedly itching to get in on it as well! The model has succeeded already, by giving us a way to purchase current music legally and easily electronically. This is a good thing.
Now, as far as the RIAA is concerned, and your comments about artist compensation, a lot remains to be seen. I envision independent artists and smaller labels being able to distribute music much easier through the iTunes Music Store, and offering them potential for success. They could release a few "singles" for free on the Music Store, and then hope that people buy more songs, or the whole album. And since they aren't producing any CDs, they have less overhead, and can get more of the profits. Just a thought on how the future could be bright.
Sorry man, you are actually wrong again =) The kernel of Mac OS X is something called Darwin, which is heavily based on *BSD, and specifically is highly inspired by FreeBSD. It is 100% UNIX. Not like Windows+cywin, since the kernel of OS X is actually a 100% fully blown UNIX. People are running it on x86 hardware too!
You also say that "the GUI isn't UNIX." Well, I challenge you to tell me of a GUI that *is* UNIX. UNIX and windowing systems have nothing to do with each other. You need to have a better understanding of the issues before you blast Freshmeat for this.
Freshmeat's policy of UNIX-like operating systems holds perfectly true here. OS X is as much a UNIX as Linux, FreeBSD, AIX, Solaris, or OpenBSD.
And, you can't interpret "UNIX-like" loosely enough to call Windows + Cygwin UNIX. I don't even want to have to argue that =)
Yep, you can code everything inside Project Builder. You create your interface, connections, and outlets in Interface Builder.
There is no syntax highlighting for Python in project builder just yet, but I am sure that some creative person can make that happen soon enough. Apple might even implement it if they like the idea of a Python/Cocoa integration.
Can you mix with 3rd Party ObjC classes? I am pretty sure that you can, since this is a Python/Obj-C bridge. I haven't tried it myself, but I am pretty sure that its possible.
The best thing is actually interfacing your Objective-C objects with native Python objects. Create a complex Python data structure, full of lists, objects, tuples, and dictionaries, and then you can use it as the model (MVC) for your application in Cocoa!
You've had no interest in Python? Well, head over to http://www.python.org, and click on the tutorial. Its a great little language, its shipped by default with OS X 10.2, and its trivially easy to learn.
This is absolutely excellent news! I downloaded this the second I read the article, and I have been playing with it for a few hours now. It works almost flawlessly. The only thing that could really make this better is if Apple picked it up and integrated Python as a first class citizen along with Java and Objective-C in Interface Builder and Project Builder.
... you will see the interactive Python interpreter fire up within a second. Its an amazing little language =)
People may ask "what's the point?" Well, for starters, Python is absolutely fantastic for building things quickly, especially for complex object or data structures that would take much more time to implement in Objective-C or Java.
On top of this, Python is much better suited for Cocoa than Java! Apple implemented the Java-Cocoa bridge mostly for the sake of having Java be a "supported language." But, since Java is inflexible and strongly typed, it doesn't really fit into the Objective-C model that Cocoa relies on. Python on the other hand is perfectly suited for Cocoa. Python is weakly typed and can handle the dynamic runtime of Cocoa a lot better than a language like Java.
In addition to this, Python's runtime is much more compact than Javas, and manages to load much more quickly. Just fire up Terminal.app and type "python"
I am very excited about the potential of this Python/Cocoa implementation! In the first hour or so since I installed this, I was able to take an existing Python backend and add a quick Cocoa frontend, using nothing but the standard OS X Development Tools.
Kudos to the great people who developed this!
The Quartz rendering that you speak of was already completed for 0.2 and it is what provides the beautiful antialiased (smoothed) text that you see already in Chimera. So, don't worry the speed you see now will probably only improve! It actually appears to be *much* faster than the stiffest competition (OmniWeb) for me.
Summary: have no fear, that Quartz rendering is already here =)
The selection of the title of this article is very disappointing and misleading. I wish that slashdot would have done a bit more research before posting this article.
.NET. It just happens that Ximian is implementing the ECMA Standard for .NET and a few other pieces to offer compatibility with some .NET applications, and to provide a better platform for them to write their own applications with.
To clarify - noone has stated in any way that GNOME will *ever* use
What was released yesterday is called GTK-Sharp, which is simply a set of language bindings for GTK to enable people to use C# to write GTK programs. Now, when the python bindings to GTK were released, it would be equally foolish to state that "The GIMP is one step closer to being written in Python." Think before you post articles, please.
As far as the announcement itself is concerned, I am very pleased. I am intrigued by the possibility of a sanely designed cross-platform language independent solution for developing applications and web services. I really like the idea of a common class library and the common intermediate language. The guys at Ximian are doing some great work. Keep it up!
I am a long time Linux and UNIX user. I began running Linux exclusively fairly early in its life cycle, and thus I require a nice UNIX environment for my day to day life.
/etc/hosts file exists, but does not appear to be used. Instead, you must use Apple's NetInfo manager. Additionally, the base compiler's supplied with Apple's developer tools have some differences that make porting a little bit interesting. Overall though, its a great UNIX environment.
About 3 weeks ago, I purchased an Apple Titanium PowerBook G4 with the intent of installing Linux on it. Since then, my experiences with OS X have made me reconsider.
I started out quite skeptical, but was pleasantly surprised to find many of my favorite Linux/UNIX applications available. Step 1 was to install Fink. Fink is a source and binary distribution of UNIX applications and utilities for OS X. I installed it quickly, and was able to use the debian-like commands (apt-get install!) to get Python, rootless XFree86, and bash installed. Fink can be found at http://fink.sourceforge.net.
Since then, I have grown used to the excellent environment that they have built, Its very refreshing to see such a usable and powerful desktop environment based around a standard UNIX kernel!
Now, there are some caveats. Some of the standard locations for things don't make sense. For example, the
I am extremely happy with the UNIX side of Mac OS X, but I am equally impressed with the amazing usability and cool technology of Aqua and Quartz. Very cool stuff.
If you have any questions about my experience, feel free to post them here and I will do my best to respond.
Just a quick note to all you slashdotters. The GNOME project is not dead. The GNOME project is not falling apart. In fact, things are going quite well. In every software project of this magnitude, free or not free, flamewars break out amongst developers occasionally, and are generally solved. The difference here is that GNOME is kind enough to be free in not only its software, but most of its mailing lists. They are not able to immedialtly cover things up like their closed source competitors.
Here is a better summary of what happened this past weekend. The release coordinator, Martin Baulig, has been working *very* hard and at an astonishing rate. His school work was suffering, and some people were criticizing a technical decision that he had made. Martin got very frustrated, and made a post that he probably shouldn't have in a tone that he probably shouldn't have. But, honestly, all of us have said things that we really didn't mean to when we have been frustrated. As a result of his post, a massive flamewar developed concerning the technical decision itself, maintainership of GNOME, how decisions are made, etc. In the end, it appears that only constructive discussion is going on now to put in place a process for proposing changes to GNOME before they are made. Havoc Pennington has written a nice process similar to the Python Enhancement process. While it is in discussion now, and will likely change a lot, it has very much promise!
As a long time GNOME user and a developer, I am actually *more* excited about GNOME right now after seeing a damaging argument turn into something productive. Every project is going to have bumps, but the measure of the project's maturity is how they deal with it. GNOME certainly hasn't handled it perfectly, but the GNOME development community is learning from its mistakes, and working to prevent them and grow in the future. So, stop complaining about "GNOME is dead", "the linux desktop is dead", and spouting off useless insults. It is clear to me that not only is GNOME alive, but it is growing in maturity.
Jonathan LaCour
Guido,
Python is great, and I use it all the time, but I have an annoyance that I would love to see corrected.
Currently, Python's standard modules provide much functionality, but are a mish-mash of submitted modules that are largely uncategorized. Java provides a much better organization and naming scheme that could be carried over to Python.
For example, when importing the Python HTTP modules (httplib), currently, I do one of the following:
import httplib
from httplib import *
Java has a categorization structure imposed to make things a bit clearer. I would prefer if this same kind of structure was imposed in python. So, the above would then become something like one of the following:
import python.net.http
from python.net.http import *
I think that this could really enforce a cleaner organization and make it easier to identify where modules belong, and what they do, just by looking at their organizational location.
What do you think? =)
Jonathan LaCour
Developer, Student
I am a long time Python developer and fanatic. I have long enjoyed using python because of its Object Oriented nature and its faster and more open development process than its main competitors.
While I believe Python is a great language, there is one thing that I really am missing from Python. Currently, Python uses a very antiquated reference counting method that is less than ideal. Are there any plans to re-implement the garbage collection mechanism for Python in the future? May I suggest using the more advanced generational methods of garbage collection?
Good work so far, and thanks for all you have done!
Jonathan LaCour
Developer, Student
I am an artist, and code is just one outlet for my creativity. Writing, painting & sculpting are others. Since, unlike you, apparanetly, I have a fairly extensive knowledge of art, then yes, my argument makes perfect sense.
Well, that was a fairly large assumption. You seem to like making this kind of claim, that is in no way rooted in logic. I have a very respectable background in art, and I consider myself an artist of sorts as a programmer.
The mediums of expression have evolved to the point that we can not be restricted by excessive rules. Good poetry dispensed with the formality of puctuation long ago, as have all other forms of art moved beyond strict "rules" dictated by the self-proclaimed "elite" of the art world.
Strange, "good poetry" didn't part with structure and form... I wonder why that is? Generally, poetry has some form and structure to it. All the classics have a similar level of structure and form.
Perl may be a mess sometimes, but many many people have reached true flashes of absolute brilliance with it that I seriously doubt would have been possible in Python.
Well, this I find amusing. Any algorithm that you can implement in Perl can also be implemented in Python. In fact, Python is so simple and natural that I find myself attempting to express myself more, and find myself less concerned with the "finer" details of Perl.
The moderators have obviously made it clear that your claims are ludicrous, and completely void of all logic. Thank you, come again.
Excellent! May I encourage you to buy the orielly book, "Learning Python"? It is a great way to get to the nitty gritty of Python's coolness. It explains some really neat Python features like tuples, lists, and dictionaries, and how Python deals with them. Though, the online documentation and tutorials are also an excellent place to start.
I could not disagree any more on this point. *EVERY* language enforces a set of rules. Look at C for instance, each block *must* be enclosed in braces! You have to use certain kinds of variable names (specifically, you cannot start a variable identifier with a dollar sign for example).
Your argument simply does not hold water. Python allows an equal amount of creativity to any other language, and places an equal number of restrictions on the programmer. I hated the Python indentation syntax for about 20 minutes. And then it seemed very natural to me. On top of that, my code was more readable, and so was others!
Think about poetry. There are many different kinds of poetry, and most of them enforce a certain structure. Sonnets for example. These restrictions are not in place to hamper the creative expression of the author, but to allow the author to work within a common set of restrictions, so others may better understand his expressions.
Using your argument, I could claim that Punctuation stifles my creativity, and simply write every sentence in this comment without any. Now, that may be creative, but it would certainly prevent my comment from being very readable, or understandable.
Python is great, I really suggest that you get over your minimal objections, and give it another shot.
Yes, actually. The software company I work for develops almost 100% in Python. Once you learn the basics of Python and how its C extensions work, its actually truly simple.
This is great news! Python is my favorite programming language to date. It all of my favorite features that are in other languages.
For those of you that don't know much about python, I would encourage you to try it out! Coming from the following languages, here is why I would recommend python:
Java - Python has a class library the size of Java's, its VM starts up faster, and its simpler to write and maintain. Plus, it isn't controlled by Sun!
Perl - Okay, all religious issues aside here. Get real. Perl is a great language, but it has largely been extended beyond its original intent, and is straining to keep up. Python is easier to learn, develop in, and most of all *maintain*. If you have ever looked at another person's Perl code and tried to maintain it, you know what I mean. Perl is cool. Python is cooler. Give it a shot, you can even use Perl style regular expressions!
C++ - Still haven't realized that C++ is a dirty hack eh? No, all kidding aside, C++ is also a great language. Honestly though, I struggle to develop quickly in C++ because I keep running into language barriers. C++ is probably the most widely used OO language next to Java. I for one am sick of managing my own memory. Leave it to the garbage collector thanks =) If you want a really really fast OO application, write it in C++. If you want to develop a OO application really really fast -- choose Python.
C - Ahh, the great C. What a fantastic language. Fast, Fast, Fast! But, not object oriented. Now, I know in the Linux world there are a lot of C lovers, and don't get me wrong, C has many uses. But the world would benefit if people would write their apps in Python. There would be very few memory related bugs! Many times, the development cycle is slowed dramatically by C's tragically painful memory management. Programmers are dumb. We really are. We make silly off by 1 errors, that oftentimes can make a C program leak memory like a swiss cheese bucket. Write in Python. Its *so* much easier, and is perfectly fast for GUIs, and many server applications.
Python, to me, is the language of the future. It is fast, easy to lean, fun to develop in, and is just plain cool.
This is an excellent question! The company I work for produces a document delivery system, that acts as a short term EMR. It is written entirely in python and C, and can be used on Linux, AIX, and SCO Unix.
The product is excellent, and works quite well. We are currently working on some *very* cool extensions that add some awesome features that I cannot currently discuss. If you are an intersted hospital, see what the system has done for *one* hospital at:
This link
The website is out of date, but I would be happy to answer any questions about our system over email (jal@faxnet.com).
The company is VertiSoft and the product is called FaxNet. I highly suggest that you check it out!
I don't know about you, but if I lived in a third world country, I would be much more concerned about feeding my family, finding work, and dealing with oppressive governments than with finding internet access.
There is simply no need for the Internet in these countries yet. First we should concentrate on helping these other countries "catch up" to our ecomonmic and social prosperity before we go telling them that the Internet will solve all their problems!
As a Christian, I feel obligated to speak up here. First, I would like to state that all Christians are not right wing, rifle carrying, bible bashing, violence hating, morons, as Jon Katz seems to feel.
Personally, I enjoyed Katz's articles on Columbine, and appreciate his point that geeks can sometimes be singled out as "different" and therefore worse. Violent video games were not the problem!
But, now all I see from Katz is hypocracy. He singles out and generalizes an entire community of Christians as the ones that stand out against violent video games, and other such products. This, overwhelmingly, is not true. Katz is doing exactly what he condemns in his pieces on Columbine and pointing a finger of guilt at a group of people that he simply does not understand. This saddens me, and proves that Christians on a whole get a bad reputation when a small portion of the population abuses the Bible. To me, this entire article seems very Christian-phobic. Calling the entire Christian community "video game haters" or anything that you describe in the article is the same as writing off geeks that play quake as possible murderers, just like you condemn in your own article!
Honestly Katz, you really need to hang out with a few Christians and realize that there are many well educated Christians that have thought out their beliefs rationally and scientifically.
Now, on the subject of the game discussed in this article, I am all for it. I enjoy a good game of quake every once and a while, and I would also enjoy a game like this. To me, its just another action game, but this time its based upon Biblical stories (which I happen to believe are true), instead of a fictional story created by the game designers.
In conclusion, this entire article made me very sad that Jon Katz can have such a good grasp on some things, and then totally contradict himself and have no grip on another important topic.
Wow, someone watched Event Horizon one too many times =)
Okay, as many of you seem frustrated and can't get it working in Netscape, here is the deal. Edit -> preferences -> navigator -> Applications. From here, find the real player item, open it, and tell it to use an application "realplay %s". The key thing here is the %s. I have no idea how to get the inline plugins working, if anyone knows, tell me.
This is only a reply to your comment about COM being a good thing, and a lack of CORBA for Linux. First off, COM is nowhere *near* as robust as CORBA, and there are many many CORBA implementations for Linux. In fact, if you don't mind using Java, I highly recommend using ObjectSpace Voyager. It runs on any platform, its ORB has a small footprint, and it interfaces with *BOTH* CORBA and COM seamlessly. Plus, it isn't linked to any particular platform. COM objects are only useful to those runinng Windows, and are usually "coded" in bloated visual development IDEs like VB. Why waste money on VB monkey's when you could hire a talented coder for about the same price and get better results? You speak a lot of time vs. money advantages. I am a developer, and I find that it is *ALWAYS* worth the extra day of development to make a product better. This probably isn't the best business practice, but it certainly is the best development practice. Your comments seem to come from the "suit" mentality, which is fine and good. Sure, you can hire monkey's to make a product that will work using inferior technology, and do it fast, but you will have a buggy product, almost definately. How do you think that Microsoft got to the top? Quick, cheap, inferior products that do the job, but not well. The true coder will always tell you that you *NEV ER* set a release date. You code a product until it is done, and then release it. Anyway, I know that this model of development doesn't fit with what a suit expects, but please broaden your mind.
Hmm, strange. GNOME is pretty damn solid for me. Yes, it does crash sometimes, but it hasn't been in development as long as KDE. Plus, it is open source in the purest sense of the term. Who could ask for more? Give GNOME another few months to bug squash, and it will be nearly perfect.
On the subject of KDE. I find it grossly ugly, in every sense of the word. It looks like win95, even with its ugly themes turned on. QT is also C++ only. GTK/GNOME allow for much more flexibility and a more advanced architecture.
KDE has its place though. On the desktop of a Linux newbie. But even that place can easily be taken by GNOME given a little more development. GNOME is currently the desktop of the more advanced user.
Wow, this comes from someone who has likely never run E15. With the BrushedMetal, SimplE, or AbsoluteE themes, your desktop will look extremely usable. OR you could try out one of the two MacOS themes, since you seem to like the UI so much.
Think before you judge. E can be made as simple or as complicated as you like.
Especially since E has become rock solid lately. I have run AfterStep or WindowMaker until a month ago when I converted to E with tigert's BrushedMetal theme, its great!
The current FTP site is dead... anyone have a mirror?