Advertisement

y bother with linux???

Started by September 23, 2003 04:43 AM
18 comments, last by Muncher 20 years, 11 months ago
quote: Original post by lemurion
Someone wrote someday: "Unix IS user friendly, it is just selective about who his friends are"

"UNIX: It''s not just user-unfriendly, it''s proactively user hostile."
--AnkhSVN - A Visual Studio .NET Addin for the Subversion version control system.[Project site] [IRC channel] [Blog]
I must:

-parody-
my apologies if i come across as rude, but i luv you all!
Anyway i would like to know why people still bother with windows other than for entertainment purposes. I mean, linux can do everything windows can do (as far as i know) and its only considered user-unfriendly because it''s different. Plus almost all software is written for posix systems.... windows just seems to be the stone in my shoe that i have to keep in mind when developing software.
-/pardoy-

I find that whenever arguements like this can be reversed and still hold true, the arguement is a pile of steamy shite. no offense intended, most people don''t realise they''re spouting bull.

Anyway, the OP''s second paragraph addresses these points:

1. Compatibility
Let''s see which is more compatible with each other... the BSD/Linux/MacOS X/Solaris/AIX/HPUX/UNIX/*nix camp, or the ... um okay its just windows camp. consider THIS point owned.

2. Friendliness
If I weren''t lazy, I''d take a screenshot of a word processor running on linux and compare to a word processor running on windows. Instead, I''ll just say the the differences include
a) The linux one doesn''t have "Microsoft Word" at the top!
b) The toolbar buttons are in a different order!
c) The fonts have different names!

3. "nothing runs on"
I consider the software selection on linux to be superior. I will present this as a given, since I don''t want to start listing comparisons. There''s some site out there somewhere that has an equivalency list.

Except games. You''ve got games. Since game aren''t written for linux yet. (no reason why they couldn''t be, its just that companies fell into the DirectX trap.) I applaud the Never Winter Nights people for porting it. I think we''ll see an increase in games for linux since porting from MacOS X to linux takes about 10 minutes. (so why wouldn''t they?)
Advertisement
I use linux because I can get some really tough stuff done for next to nothing. I use it because I like the Free software philosophy, and I''d like to further it by testing the software it''s developed. As a computer scientist, much of the literature have reference implementations that work out of the box on unix, but are a pain to get working under windows. As someone who grew up on a command line, I can organize my stuff in less time using Bash (thank god for tab-completion) than I can in any graphical filemanager. As a student, I don''t even have to think about whether my CS assignments compile and run on the teachers'' linux box. As a proficient vi user, it''s faster to edit text config files than it is to click through a wizard. As a programmer, the sheer volume of source-code makes a wonderful manual.

Troubleshooting linux, I know exactly what it would take to correct something once I know what the problem is, and for the really hard stuff, it''s always a lot less than to correct a similarly difficult problem in windows. (i.e. petitioning the developers to correct it, fixing the problem in a disassembly of the program code, or writing my own code -- any of those three is easier under linux)

quote: As Mikhail says, street performers don''t write symphonies.
Neither does the street listen to symphonies.
---New infokeeps brain running;must gas up!
Hey, I use Linux and all I can say is that it is much easier to program on. That was the main reason I chose to format and go strictly with Linux. Since we are on GameDev, I will say this: SDL. Simple DirectMedia Library is quite possibly one of the most amazing libraries I have ever used. It does everything DirectX, DirectDraw, DirectInput, DirectSound, blah, blah, blah, can do, but it is SO much easier to use. No Windows MFC calls or what have you. It DIRECTLY supports OpenGL, and there are a wealth of other libraries out there that work with SDL to make it better. And portability. Linux, BSD, Windows, Mac, in twenty minutes your SDL code can work on these platforms, with no problems. And I hate to tell you, but there are pretty much free versions of every Windows program on Linux. KDE has all you need to have a pretty GUI, and plenty of FREE programs. But people are right, sometimes, connecting your computer to the internet can be difficult. But you should be able to do this, RIGHT?! In conclusion, I just feel so much more powerful with Linux. I know what it is doing, what''s running in the background (and I can kill those background processes without a blue screen of death!), and a wealth of other System Admin type stuff. (makes me feel important to know I''m in complete control of my computer.) My ONE and ONLY problem - Having to mount floppies and CD''s. But that''s it. Oh, and compatibility with Windows, try WINE.

"Donkey, if it were me, you''d be dead."
I cna ytpe 300 wrods pre mniute.
"Donkey, if it were me, you'd be dead."I cna ytpe 300 wrods pre mniute.
Yes, it''s amazing how easy it is to program a game when you don''t actually have to program.

All those mentioned libraries are available for Windows as well. But with Windows you get a free userbase included.

Ben


[ IcarusIndie.com | recycledrussianbrides.com | Got Linux? ]


Will Post For Food
"Neither does the street listen to symphonies. "

I bet you thought that was really clever/deep/insightful when you wrote it.

Ben


[ IcarusIndie.com | recycledrussianbrides.com | Got Linux? ]


Will Post For Food
Advertisement
quote: Original post by KalvinB
But with Windows you get a free userbase included.


Certainly not.
The group of producer is so much bigger than the demand that you will not get anything for free. Sure, start eating worms will give both free food and attention.
After many years of training of talented people do the world not care anyway.


quote: Original post by DuncanBojangles
My ONE and ONLY problem - Having to mount floppies and CD's. But that's it.


There is a kernel path floating around somewhere that'll mount them for you automatically. IIRC, look for "supermount".

That's another advantage of linux - complete control of the kernel. If you don't like it you can change it. This may not apply to desktop users, but it sure is useful for any serious developers, computer scientists, or power users (to some extent I consider myself to be all 3).

Image loads when I'm online!The following statement is true. The previous statement is false.
Shameless promotion:
FreePop: The GPL Populous II clone.

[edited by - Doc on September 23, 2003 11:09:05 PM]
My stuff.Shameless promotion: FreePop: The GPL god-sim.
Linux seems like an exellent alternative to Windows for those of us (like me) who bought SEVERAL computers before Microsoft finally figured out how to designed a stable OS =-/

Sure, Win2k, WinNT, WinXP are fine now... but it took MS several years to get there! Win95 through WinME are just crap... crashing left and right.... It''s like they were programmed to mess with your mind! How long can you surf the web before explorer freezes up? You don''t know, do ya!

In Linux, the only problems I''ve ever had, freezing-wise was using the graphical interfaces. But still, if I was running SSHd, I could telenet and kill X11 and it would continue running fine! No reboot! No hassle! No BSoD~

If you think I''m off my rocker... for the record, I am not a Penguin lover, I just hate WinME =-P

/¯\_/¯\_/¯\_/¯\_/¯\_/¯\
"You TK''ed my chicken!"
\_/¯\_/¯\_/¯\_/¯\_/¯\_/
In my experience, Linux would be absolutely stable if it weren't for X—it's the only thing that's crashed any Linux installations of mine, and has done so with every single one, right back to Slackware when almost nobody had heard of Linux.

I find the assertion that Linux is absolutely more stable than, say, Windows 2000 to be rubbish. I think that the truth of this just depends on the particular situation. After all, there are people who've had no problems whatsoever with Windows Me, yet can't get Windows 2000 to stay up for even 5 minutes. And that just defies all logic. Overall , based upon my experience, the two (Windows 2000/XP and Linux) are equally stable; a faulty video driver took down my Windows 2000 box a few times, and X has played devil with all of my Linux installations. Everyone's mileage varies. Incidentally, the only modern operating systems I haven't had problems with is Mac OS X, except for the very first release which kernel panicked on me while starting up the Classic environment. Other than that, it's been flawless. But, of course, I doubt that it's significantly more or less bullet-proof than Windows 2000 or Linux.

So, even though your lecturer makes Linux sound absolutely better, everyone must always form their own opinions based upon experience , and not succumb to indoctrination or hype (as seems to happen in schools all around these days, not that I'm saying that this happens to you).

As far as pleasantness for development goes, this will depend upon personal preference. Just about every platform has sufficient development tools—GCC, for instance is practically everywhere, including Windows. The only significant differences beyond just basic usage of the system are: 1) tools for aiding the programming process, such as IDEs, and 2) the APIs available for creating software for that platform.

I believe that Visual Studio .NET is the easiest and most advanced IDE in existence, so that's a point for Windows. While its expensive, I feel that its overall quality and completeness are worth it—admittedly, this is helped by my being elligable for a significant adademic discount. I find that Project Builder (and, the upcoming XCode, to a greater extent) is rather good as well, so Mac OS X gets a 3/4 of a point in my book, especially since it's free. Linux/Unix have things like KDevelop, but I find them to be too shaky and undeveloped, and their documentation is usually of rather poor quality. Like Project Builder, these are free, so that wins at least 1/2 of a point. As much as I might like to support free software, I feel that this is just one of those cases where commercial software will invariably beat free software in overall quality because the development teams associated with commercial software have so many more resources at their disposal.

As far as APIs go, this is probably more influenced on what you're used to than anything else. On Windows, the players are the raw Win32 API, MFC, and WinForms (from the .NET Framework). Linux/Unix have raw Xlib, and a wide range of Xlib wrappers, including those for KDE and Gnome. Mac OS X has Carbon and Cocoa, the latter of which is unlike anything else (except for NeXTSTEP, which is its parent). Win32, Xlib, and Carbon are largely procedural, and require the most work to get things done. MFC, in my opinion, is so poorly designed that it doesn't even deserve consideration. WinForms, the KDE API and Gnome API, are very object-oriented in that they wrap the underlying system's controls in a rich class heirarchy. They also have editors for visual development of interfaces. Cocoa stands alone because it's native language is Objective-C, which is quite rare (there's also a Java binding), and because it's so conceptually different than the others. It's been claimed that Cocoa leads to signifant productivity boosts, but even if that's true, it takes some time to master it because it's so different. Project Builder provides tools for graphically designing interfaces with it. Oh, hell, and I didn't even think to mention things like Swing; I won't discuss it because I think it's visually ugly, and dislike the mechanisms used to get around Java's design choices (or "omissions," if you prefer). Worse, it conforms to no particular platform's interface standards, so Java interfaces stick out badly.

My advice is to develop on the platform of your target audience. Although cross-compiling can be useful, good interface design relative to the target platform seems to come more naturally when actually immersed in that platform. Then my suggestions are the following:

Windows: WinForms is probably the easiest overall, though some advanced things will require the use of the Win32 API intermixed. Although WinForms isn't strictly tied to Windows, it's heavily biased toward it. Luckily, the Mono project seems to be getting steadily closer to the goal or porting WinForms to Unix platforms.

Linux/Unix: Choose Xlib if you're masochistic. Beyond that, I'd suggest either the KDE or Gnome APIs. Which one you choose barely matters because most Linux distributions, by default, install KDE and Gnome anyway. Glance at both and decide which you like better. I like KDE better, but many swear by Gnome. There are APIs that are neutral to the desktop environment, but I find it important to conform to established user interface standards (which KDE has developed most thorougly, I believe).

Mac OS X: This one's easy. Choose Cocoa. I'd suggest staying away from the Java binding because Java is always so very slow. Objective-C is very easy to learn, and building simple interfaces is arguably intuitive, once you get the hang of the way things are done and let go of concepts you may have learned with other APIs.

Anyway, don't forget that most of what I've said are opinions. I hope to have exposed some issues that are important to think about when considering platforms, but always remember to try everything at least a little bit so you can make a fair, educated decision. It will pay off in the forms of productivity and enjoyment.

I know I said things that weren't ever even really asked, but I suppose I just felt like talking.

[edited by - merlin9x9 on September 23, 2003 12:18:00 AM]

This topic is closed to new replies.

Advertisement