Impact of Windows Programmer Hordes on Linux?
Dr Dobbs Journal analyses the impact that
Windows Programmers could have on Linux arguing that they
could boost Linux' usability drastically.
So what do you think Windows programmers
could do to/for Linux? Do you think the ensuing culture
struggle will be positive or negative? Link from
LWN.
I _like_ it. Turning Linux into a Windows clone would suck.
I think that if we can merge windows usability (when I say usability, I mean that it is so easy to operate that you don't need to pick up a book to configure it, etc.) and linux's performance, and get good programers for it, there would only be one place for it to go--up.
Look how good they did with NT, 95, 98, Office, and all the crappy applications they made. I don't think that the linux community really needs much more unstable chaotic 'pretty' software. We have enough of our own, thank you very much.
Windows programmers should go work at McDonalds or somewhere like that so that they might actually contribute something useful to the world before they die. Letting them play with linux would be more destructive than anything else including the insuferable Microsoft FUD-machine.
Say NO to children programming in VB.
More programmers... more apps....
Hordes of windows programmers are going to flood Linux are they? Those ones that write buggy limited software using buggy limited IDE's?
I suspect emacs might fry their little brains. Until they come up with their own rubbish IDE's for GNU/Linux I guess.
I can't see the over-all quality of software improving. Those with the imagination and skills are already "here".
Just say no!
The visual basic commentary is very true. VB is a good language, frankly, that has been umm destroyed by the hordes of dog-and-pony-show programers because lack of impetus to develop good core. Evidence the fact that many of the VB titans have jumped ship in disgust.
What i see happening is a group of rabid, half-assed programmers coding junk that really doesn't do anything (witness the 100 or so notepad replacements). This seems to be the case with most Windows freeware frankly. Where this becomes a problem is they would have the ability, if only by sheer numbers, to endorse one or another library.
However, this essentially becomes a null factor, becausemost current linux developpers have a use-what's-best-for-the-community attitude.
Net result- nothing.
But your Netwinder is 32-bit and little-endian! The real problems will hit us big-endian PowerPC and SPARC people, and of course those poor Alpha users with their nonstandard 64-bit CPUs. :-)
Don't we already have the first example of this Windows wannabe? StarOffice 5 in my opinion. And the result? A severly bloated (relatively ugly in places) app, that tries to be all things to all men. Why couldn't they separate the various components of SO into different executables, and maybe it might run at a decent rate of knots. Personally I wish the developers and GUI designers of SO5 had tried to create something from their own imagination. As far as Im concerned, they've produced an ugly monster. Next!
Wow, I didn't realise that sound programming methodology and style were directly related to your target OS...
Don't make the mistake of confusing programmers who target Windows, with the drones at Microsoft.
Well, it's a sad day indeed when Slashdot
itself stoops to trolling.
What the fuck was the point of posting the Dobb's
piece? You want to start a fight or something?
Damn.
"Can Windows Programmers help Linux?"
WTF. Programmers are needed for all projects.
Since when is someone familiar with MFC not
able to work in Linux?
Again, I ask: Why post the article?
A sad day for us all.
So which is worse? An MS developer or a Linux developer? MS developers write code for a buggy platform, yet in quite a few cases they produce usable applications that I would love to see on Linux. Or the Linux developer? Some produce interfaces that are cryptic as the operating system.
(it's a joke - just a touch of sarcasm folks)
All but the very best of the best Windows programmers are more completely unfamiliar with their underlying OS than programmers on any other system.
The few who are good enough to reverse or re-engineer system level facilities have a very commercially valuable skill and aren't going to be put to work on Linux by their employers.
The gory details of low level improvements are probably going to come from the same place the original kernel came from. Academia.
Another word... delphi
One word VB :(
:) Honestly, though, the people who write perl and tcl/tk code in linux are the ones who would be writing VB if they used Windows. It's the same niche, and it's a valid niche. Linux has gained by MS filling that niche with something unspeakably horrible (everything MS screws up is a win for Linux, so don't knock it :), but that doesn't necessarily mean that the people who live there are idiots. I've never tried to explain pointer arithmetic to a perl programmer, but I have tried to explain it to a VB "programmer" and I suspect that the experience would be much the same. Basically it's a matter of "ask me when you're older", but in more polite terms :)
A tiny minority of windows programming is done in VB. That's because VB is wretched and useless. I've gone into interviews for Windows programming jobs and said, "If you make me do Visual Basic, I'll quit." In most cases, they say something like, "What kind of monsters do you take us for?!?!" Heh. Seriously. There are certainly a lot of idiots in Windows programming, probably more than in UN*X programming, but that's because the inflated job market has sucked in all kinds of losers. There are also a lot of very serious, very good C/C++ people writing code for Windows, too. The company I work for has had just as hard a time finding worthwhile UN*X programmers as Windows ones. We've fired a few of each.
I might also reply by saying, "One word: tcl", but that would be mean
I don't want to sound macho here, though; I wouldn't want to try to live without gawk. One size doesn't fit all.
It is not true that free software programmers are not interested in applications, usability, GUI etc. I believe the main problem in the past was the frustration with the system. If you wanted to write a free software application, you had to live with faulty, nonfree systems and buy expensive compilers. Since you do free software for fun, you are not going to buy anything - you want to build it.
Now that there are whole systems available that the free software writer can build on there is no need to spend (so much) time on the infrastructure. I believe after Gnome is out, we'll see a fast acceleration of free software application development.
All commersial, nonfree software is faulty, but not so much because bad programmers are at it. It has more to do with the business model: you're in it to make money, not good software. So your duty to your employer is to develop minimum-quality software as fast as possible.
Free software development needs funding as well, and it should come from the governments just like funding for basic research and freeways. Otherwise the majority of free software developers will continue to have to migrate to the closed-software side of the fence.
Marko
Didn't Gates drop out of college to write a BASIC compiler? ;-)
A lot of perl hackers are also smart enough to grok C or C++. This may be a shock, but many people code in both languages. C/C++ is godlike for some things. It sucks if you want a simple text parser or system utility, though: that's where Perl shines. We don't need a scripted vs compiled war here.
And in Unix, you use a command called init to shutdown. With the oh-so intuitive option '0'. What's the difference?
Naw, us perl hackers would be writing perl for Windows, thank you.
Point well taken
The general horde of Windows programmers don't know anything about usability (vis. the millions of bad-interface VB apps out there).
On the other hand, there are Windows commercial developers who know a thing or two about it, and I would welcome them.
I'd certainly like to see powerful visual applications such as SoundForge and Acid on Linux. That would pretty much obviate the need for me to boot Windows but for the odd gaming binge.
Everyone seems to assume
1) that windows programmers will be giving away their sofware and
2) that they will be using the closed-source model.
What I don't see is where it is guaranteed that either of these will happen. It's much easier to change platforms than it is to change attitudes.
Very true. However, not all Windows programmers have CS degrees. I'm in College right now and am pleased to say that the current CS freshman around here (CMU) are learning on Linux/Solaris. That's a reliever.
And as for the SPARC monitor comment, I fully understand. That's why I said that many good programmers are stuck in an industry-centric job. These days, you have to admit that it's pretty hard to earn wads of cash without working for a company that at least puts out *some* Windows products.
for me it was the Apple Lisa. :)
John Raykowski
xski@xski.org
They are NOT a minority! There are 3,000,000 VB developers out there, and much less windows c++ programmers (
I noticed that the programs written with VB are usually small databases programmed by consultants on request. You know those applications that have been written 1000 times already?
forget these linux sellouts.
windows programmers bosses are NOT going to go
"hey make some freeware, we'll pay you," they are going
to do what happened on the open IBM PC back in the day,
"hey make lotus-1-2-3, make wordstar, make crosstalk, we
will make big bucks!". linux will be flooded with commercial
software, and then its lonely rotting corpse will
shrivel up and die as all the good people head for freer pastures
where they dont have some suit breathing down their neck telling them what
to do. thank you redhat. NOT.
say NO to giving web browsers to moronic zealots who don't know what they're talking about. competent windows programmers are no more rare than competent programmers for anything else...
:) I often get the impression that those posting anti-Windows flames have never sat down to write a line of code in their life -- once you get past the basics it ain't all that easy, no matter whether it's UNIX, Linux, or Windows...
Thank you
It doesn't exist and most likely will come as close to being a powerful server OS as NT is to UNIX. Just more vapour.... get over software that will never exist to the specifications that you dream.
so reboot and shutdown are wrappers
for the backwards thinking human, they translate
the silly human command "reboot" into
the sensible "init 0" command, which obviously
is 100% necessary and should exist from here forward.
I find it _very_ hard to believe that there are only 1 million windows c++ programmers worldwide.
Or are you one of those people who can't see beyond the USofA? Well, wake-up call! There's a whole world out there on the internet, and a lot of them read slashdot.
That subject is extremely lame from my point of view. Windows programmers don't care more about coding for Windows than coding for Unix. You code or you don't. It's like screwing a chick: do you care if she's white or black? Screwers will keep scewing and coders will keep coding. blah
I myself coded things both for windows and linux (http://www.globalserve.net/~adeneault/bm/ VS http://www.globalserve.net/~adeneault/ampctl/).
I mean who cares. That topic is just another lame Slashdot attempt at MS bashing.
Again, bravo.
They are NOT a minority! There are 3,000,000 VB developers out there, and much less windows c++ programmers ( less than 1 million I believe).
:) are very expensive, e.g. in-house database nonsense. If the guy spends 1000 hours at US$80/hr, that's worth cutting in half, even the cost of an uglier and slower program. Also, those database things never need to do anything even slightly out of the ordinary. No algorithms, no data structures, nothing in the GUI that isn't straight out of the box. Commercial programs are very rarely that simple, so VB would make them take *longer* to write, while losing a lot more efficiency due to trying to write actual code in such a horrible language (rather than just stupid OLEDBGUI glue) (yeah, that also leaves out the question of finding VB users who know what algorithms and data structures are). The economics of commercial development are different, too. You can blow more dough on fixed costs if that'll sell more of whatever garbage you're selling, and a nice, fast, groovy program will sell better.
I can't check those figures, but at least the proportions are probably roughly accurate. That wasn't my point, though. The VB people are all writing in-house crap at banks. I was claiming that very nearly nobody does *serious* programming with VB, and I'll stand by that. VB is slow and very limited in what it can do. It's used only when developer-hours (man-months?
The more I write of this, the more I feel like there are two very alien universes about to collide here . . . I'm imagining Stallman reading this, and his face gets red, then purple, then green, and then his ears begin to flap, and steam comes out, and he growls "get thee hence!" He's got a point, too.
:)
VB is the cobol of the '90's, for the most part. How many programs do you have around the house written in cobol? I don't believe I've ever even seen one, yet I hear that there are more lines of cobol code on this earth than anything else. It's just horrible boring sludge hiding in banks, that's all.
Are we going anywhere with this argument/division? We should encourage people to write programs for Linux+GNU. Forget petty differences and keep going. Princpals of evolution will take care of bad programs. Keep going folks.
Don't tar QB programmers with the VB brush. :)
> for people who grew up with Pascal, like me,
> (and who cannot stand C/C++ for its cryptic
> style) it's a great way to go.
You might want to check out the Dylan programming language.
Free implementation of Dylan for Win32 at
http://www.harlequin.com/products/ads/dylan/
Open-source implementation of Dylan for unix and the BeOS at
http://www.gwydiondylan.org
Before I get flamed, let me start by saying that I am NOT a Windows programmer. I'm a professional programming in VMS/FORTRAN (gasp!), UNIX/C, JavaScript, HTML, and PL/SQL (all of the above on Linux too of course). I think that an influx of Windows programmers ready to tackle the less glamorous usability issues is great. Whatever can be done to introduce more less technically savvy users to Linux is welcome in my eyes. What we all have to keep in mind is that the OSS model and GPL MUST be maintained at all costs. These grant everyone the freedom to choose what "enhancements" they decide to implement and debug/extend those enhancements needing help. Adding to the pool of intellectual power already focused on Linux should be a goal of the Linux community. Discouraging talented people because of their prior experience should not.
I say, if Microsoft wants to release their own version of Linux, let 'em go right ahead!!! b/c the way GNU self-replicates, they'll have to release the source code, and we can all have a hearty laugh at the spaghetti code and the segfaults without being powerless to do anything about it. You'll never see MS Linux anytime soon, I bet. Their whole moneymaker is to suck everyone into their big pyramid of secrets, ripping us off in the process. You have to get expensive software to run a serious network, develop serious applications, even support new hardware, with Windows OS's. Open source will be their downfall! Like the kids've been sayin for years, information *wants* to be free!
-x0chi
One AC wrote "Is there some justification for government-sponsored socialist software? I don't know that it's the right answer. Why should tax dollars be spent on what is essentially a charity endeavor?"
Simply put, one of the implicit responsibilities of government (and in the case of the US and a few others I can think of, explicit responsibilities) is to improve the lives of their citizens. Whether that's through quality highway construction, a rapid and efficient postal service, an infant inoculation program, or software development.
You then write "Wouldn't you rather your tax dollars go to house the homeless, feed the hungry, tend to a forest, care for a sick child...?"
Not necessarily. Community-driven charity _always_ works better than a nameless agency in Washington throwing dollar bills. If they simply must insist on throwing money, why _not_ throw some at the great programmers? (Eric Allman comes to mind; without sendmail the singular driving force behind net expansion might still be in the future rather than taken as a given.)
Jim -- logging in sucks.
They suck. Unix programmers RULES!
And for all of the hundreds of millions of dollars, just what have they produced?
I sat down the other day and really tried to think of something they had produced that was original. I failed completely. Every single thing they've ever done was a copy of someone else's work. Occasionally it was even better than the original, but it was always a copy.
I would like to see some of these examples of "innovation" that the press releases talk about constantly.
ps IBM spent millions on mainframes before minicomputers took them out. DEC spent millions on minicomputers before PC's came out. I see no reason why M$ is going to be any different.
http://www.acm.org/cacm/AUG96/antimac.htm
I have a hard time trusting an essay on user interfaces where the body text is in an unreadable bold font. It's like trusting a car mechanic who shows up to work on foot, or a stock broker who bums change to make a phone call.
:)
I *will* read it, and I am *not* judging it by the presentation -- but it was a funny observation (and not an entirely cheap shot, either), and right now I'm too tired to wade through that typography.
... because you capitalized "Personal Computers".
No, just as they don't have to in Linux. But it sure doesn't hurt (on either platform).
> There are also issues with pointer vs. int size, does a char* fit in an int? Not allways.
{SHUDDER}
Please don't tell me that you actually do this.
I feel that governments are an especially good candidate for the use of free software. They already have a large IT budget which is at present being spent on largely dysfunctional proprietary solutions.
Were these governments to adopt a free-software model, the same IT budget could be used to pay local staff to configure, maintain, and extend upon said free software. This means the IT budget is spent within the local economy, instead of going to the proprietary software titans.
The government also doesn't have to worry about "lost revenue" from disclosing its "intellectual property", so any improvements made can be shared with the software community with no fear of loss.
Government adoption of free software would also help to discourage the use of "de-commoditized" protocols within those segments of the professional community which deal directly with said governments.
Other issues which I will only mention in passing are stability, maintainability, access to source code (i.e. no Trojan horse "features"), and limitless extensibility and flexibility.
Wanna set up a petition campaign?
:)
Well, to be fair you seem pretty rational, except for using "socialist" to refer to something that just *isn't*. But I have a weird deja-vu feeling here, maybe I'm still twitchy from all the recent outbreaks of the more zany flavors of libertarianism around here.
imho, i think GUIs have their places (X is your friend), but isnt piping, redirecting inputs and all that stuff one of the main reasons *nix is so "power user friendly". I cant remember how many times ive pissed windows kiddies off on irc cause i have a cgi script (its a sh script) that creats a hypertext list of all the mp3s i have on my hdd on the fly. and guess what, YOU CANT DO THAT IN WINDOWS (afaik that is, i know someone is gonna prove me wrong here :/ )
we don't fear that Windows programmers will take our places. If they will write anything, it will be completely different type of software, and if they will try to make something, we do now, they will fail.
ha! and you accuse *him* of being arrogant?!?! i'm tempted to call you a mindless moron, i really am. i'm tempted to suspect you of being a sysadmin, and i'm tempted to mention that i have not known very many sysadmins, but the few I have known do more or less fit his stereotype (only sysadmins and tech support share your dislike of users; competent developers sympathize with users because programming is about writing stuff for people to use. get it?).
instead, i'll just mention that i'm a windows programmer, and when i write something that needs a GUI, i write a GUI. when i write something that is better off without a GUI, i don't write a GUI. i don't really give a shit about religious issues and flaming users; in fact, users are pretty cool when you get to know them in a non-confrontational kind of a way. sure, when they're pissed off because you deleted their mail spool or a program they need, there will be some tension. but i don't spend my days fucking them over, you see, so we get along just fine. (this is because i don't have a soft, no-brainer job that depends on preventing users from doing things for themselves).
I'm the guy who posted the first Mac comment.
I didn't mean Mac OS X *Server*, I meant just Mac OS X, which is being aimed at consumers and desktops. It'll still have bits of NeXt and the Mach microkernel, but it'll have a much more Mac interface (X Server still uses shells, config files, and the Workspace AFAIK) while keeping the guts of BSD. It should retail for about $100, same as the normal Mac OS does now.
I'd much rather my apps didn't need to dive into my system. Separation is GOOD.
i dig it, baby. people should take a long cold look at the IE fiasco and ask themselves just what this means, and if they're doing the same dumb things themselves in different ways.
if we can't learn from windows' mistakes, then we're screwed, but jean-louis gassee will save all our asses anyway in spite of ourselves . . .
>I've been programming since I was 7 years old and
>I didn't start with BASIC, C, or even Assembly
>language. All that I had was machine code as I
>didn't have an assembler
Geez, I've been coding since I was two. I use my nose to type and build the code on a computer I built myself using recycled tinfoil. I'm fluent in thirty computer languages and I also speak English, Russian, Arabic, Swahili and Chinese. Guess that makes me better than you, huh?
The point being made in this thread is that no matter how smart you are, once you start really tweaking things, and get a little farther than "hello world", programming is a real challenge, no matter what system you're coding for. Ask Linus or Alan if programming is easy -- they might have something to say on the subject. Whether it's Windows or Linux or whatever, when you're doing stuff that hasn't been done before it's often very difficult, so let's not get too high up on our little horses.
All the dirt is at www.mackido.com/Interface . After reading this, try using a PC for a while. You'll notice all the little things he does and be slowly annoyed by them. I've tried it...
YOU CANT DO THAT IN WINDOWS (afaik that is, i know someone is gonna prove me wrong here
yeah, sorry
no, where the unix CLI rooolz is stuff like when piping in windows (even NT4) it all goes into a tmp file, and sits until the first program exits, then it all goes through the 2nd program, etc. that's IMHO idiotic. also you know how you can do a tick (') and continue a command line onto multiple lines? heh. not in dos you can't. which means you can write that awk script, but you'll have to write a separate batch file or doskey macro to call it. sucky, lame, bummer, i got linux and i'm happier now. i'm sure i haven't come close to enumerating all the shortcomings.
and not substance...
Some WinProgrammer friends of mine spend far too much time designing dialog boxes and forms and end up spending the last few hours left to the project working on the heart of the programs.
Screen fonts that are legible.
Menus in a consistent location.
Consistent keys for shortcuts.
Consistent ways to make extended characters.
Shutdown/restart is not in the most convienent real estate location.
Sort by type. Sort by Label.
Types that don't depend on the file name. (so some html files can auto-open in your text editor, and some in your browser)
Files with more than one period in the name
Files with a period at the end of the name.
Perl Droplets.
If I click anywhere on the desktop, the window with all of my commonly used programs pops up.
No program interfaces that require one big grey square to hold all of the programs windows so that I can't find the windows of another program behind them.
The interface doesn't push you to use one big maximized window at a time. It pushes you to layering wih slightly offset windows.
A system folder where you have half a chance in hell at figuring out the function of the file based on its name.
No IE 4 for file system windows. If I want the temptation of opening a web browser, I'll open it. Why the hell did they replace a reasonably functional interface with such an abomination anyway?
Subtelty.
Applescript.
Color Matching. (Colorsync)
No registry.
Preference Folder with reasonable names for files.
An interface where novices can use it one way and experts can use it another, at the same time allowing for a smooth transisition between the two.
A general limit of one hierarchical menu. Any more than that and you chould rethink your interface.
No tabbed dialogs.
Folders in the apple menu where you can open the folder (to change the contents)
Fewer programs that automatically put crap in the apple/start menu that you just have to go through and kill later.
You can move an app and it will still work.
Uninstallers typically aren't necessary.
You can completely hide programs.
You can have multiple tcpip configs and switch between them without restarting.
You can easily export tcp settings to load on other machines.
You can use the location manager to switch default printers, timezones, net settings, and other sundry things between work, home and travel with one click.
Alpha, BBEdit, Newswatcher (text editors(2) and news reader)
Less use of grey on grey, which is a royal PITA for portable screens.
A color scheme that degrades gracefully all the way to black and white.
Shall I continue?
The only thing that I see in windows that I wish was available in X is the concept of a moniker, both in a menu and on a dialog. (The moniker is that little underlined letter that you can use to navigate via keyboard). One of the guidelines that is "often" (your milage may vary on that one) used is to make a program totally navagatable from the keyboard. Is there a guideline like that in X? I really hate using that mouse, though I think I am in the vast minority...
There is a book called "Writing Solid Code" that I am about halfway through. Very interesting techniques for producing error free code. This book was written by a Microsoft Programmer (Steve Maguire).
His basic premise is that code should be virtually self debugging. One point he mentions is this:
Whenever a bug is detected, the programmer should ask themself two questions:
1 - How could I have automatically detected this bug?
2 - How could I have prevented this bug?
The book goes on to discuss various means of answering those two questions.
Delphi is Horrid.
I depends on the "Unix" you're using...the safest thing is to get into the habit of doing:
sync ; sync ; sync ; shutdown -X now
where X is r, for reboot, or h for halt.
this is because older versions of halt and reboot would do literally what their implies, without doing ANY system shutdown, just a literal halt or reboot.
WinNT is a combination of C++ and Ada
i can't remember the name but it looked good. I use Visual C++ 5, its okay, but I preferred Eiffel. It was very easy to learn but had some horrid syntax IMHO. But you could always browser though the libraries and learn how it works quickly.
Windows programmers are useless without their code generating wizards and multicolored debuggers. God forbid their debugger does not land on the exact line of their problem, since they are like a turtle on their back in the midday sun.
UNIX programmers ain't got nothing to learn from these guys.
MacOS X server was just release and was orginally called Rhapsody. MacOS X is finally going to drop the legacy crap for MacOS. t truely looks like MacOS X is going to be a great upgrade.
I once was a C++ bigot. BASIC was a "language" taught to children who were ruined for life with their affinity for using GOTOs. I considered less than 50,000 lines of code a subroutine, not a program. I sneared at pedantic coders who could not grasp the elegance of my class heirarchies. Compilers spewed sparks while parsing my polymorphic-multiply-inherited-virtual-template-po inter functions. And then, an epiphany...
VB simplifies programming! The downside is that it lowers the bar to people who in no way-shape-or-form should write code. The upside is that real programmers can spend more time writing applications rather than wrestling with the nuances of the language. VB really can do anything (yes anything) that C++ can. VB really is 2-10x more productive. Real programmers really to write VB code.
So pointer-schmointer, header file-schmeder file. C++ is useful for writing C++ programs; VB is useful for delivering applications.
You don't have any VB apps because like I said in my message (that you probably read at 100 miles/hour) VB applications are usually custom made applications that consultants write for little businesses.
As opposed to the ones that write buggy limited software using buggy limited texteditors? ;)
Face the fact; there are good and bad unix programmers too. If there wasnt, buqtraq wouldnt exist in the first place.
Of course the people who design software for a living don't know nothing as opposed to the hobbyists.
And everyone who built their own little toolshed in the backyard are qualified to build skyscrapers...
Those with real imagination and skill are usually above slandering other people. Just a hint...
Haha! Well actually thank you for the reminders, but you really are funny.
Yes, there are more VB developers. They write all the custom made apps that run in little business and stores, in management departments.
I read slashdot everyday. But unlike you, I also read some other stuff.
HAHAHAHAHHAHA!!!
Man you are clueless! Yes there are many more VB programmers than C++. Sad but true. Don't you realize, with your vast intellect, that just anyone can be a VB programmer? It is SO easy to write crap with that tool!
Well, I hope **YOU** open your eyes, clueless fellow!
...people actually have to make a living to care for their families and such. And you don't make much money giving things away for free. Sure, in a perfect world that might work but we all know that won't happen as long as we humans are around.
...not all windows programs are closed-source. There are a lot of OpenSource projects going on (Litestep and lot of others).
Maybe you should think before you speak the next time?
Why should they switch? They're programming for the #1 platform, and it's only getting bigger.
i x.idg/index.html
http://www.cnn.com/TECH/computing/9901/25/ntvun
Dylan is a better language, and Harlequin's Dylan implementation for Win32 supports just about everything you mentioned plus more:
creation of windows applications, DLL's,
creation of COM, OLE, ActiveX components,
CORBA support
C interoperability
just-in-time debugging and remote debugging
Plus there is an implementation of Dylan for unix. On the down side, Dylan doesn't have the user-base of Delphi yet.
I assume that Delphi is written in Delphi?
Don't catch an error condition you don't know how to handle. Well, I'm not one of those we-are-programmers-since-30-years guys, just for about 15, but Windows code (well, OO has not been in most people's mind except the last years) always was the worst.
The programs were okay, but I was able to see quite a lot of program code from a bunch of people, which then showed that in most cases possible error conditions were not handled. While this is then normal behaviour (you have an unordinary configuration ==> program crashes), it would annoy Linux users.
But I think it's good that windows programmers start trying to fiddle with Linux. If 40 percent of the programs would be bad, 60 would still be good. We don't want to miss them.
Hmm.... What's more intuitive: 'shutdown -X now' to shutdown or Start->Shutdown to shutdown. What I would like to see is someone who has grown up on Linux use Windows for the first time. Imagine:
New Win User: "So I have to click 'Start' to 'Shutdown'? That makes alot of sense.
OR
NWU: "You know, this windows 98 thing sure looks pretty, but I spend so much time rebooting, I never accomplish any actual work!"
-CJK
Well, not entirely. I started out in GW-BASIC (with a little c64 BASIC) then moved on to QuickBASIC, Visual BASIC, and finally Delphi. I decided to ditch Windows awhile after Win95 was out and left for Linux(/FreeBSD) land. There I picked up C/C++ with a little Tcl. I notice that I can easily see places for improvement with user interfacing (usually) better than people who have used only UNIX (or other "cryptic" OSes).
The only problem I see is that future Windows-to-Linux convertees will not learn what GPL/GNU and open source really are (i.e.: Most people today capitalize Open Source which is referring to a trademark, not a idea). If people do not learn about Linux, then we will be stuck in a half windows, half unix, half mac hell come 2-5 years from now. Linux should be very easy to use but at the same time it should TEACH and not be dumbed-down (like some desktop systems are doing.. I won't name names =]). Today its very common to see news sites refer to Linux and programs that run on Linux as "freeware" or even (*gasp*) "shareware". Linux is neither.. which many people don't seem to understand. This problem isn't a language issue (VB vs. python, my box compiles faster than your box) but an understanding issue. Maybe there should be documentation written about the ways of Linux (and without blurring reality).
The day I see a "My Computer" icon is the day I quit using Linux.
tclxx@excite.com
duh
"VB really can do anything (yes anything) that C++ can." Then why doesn't MS use it to deliver their own applications?
I agree. A lot of, if not most, of the posts here argue the case from the standpoint of a programmer.
:)
However, as a programmer you write software for users and have to place yourself in the feet of the users you write software for and you can assume certain knowledge present in those users.
To a new computer user, Windows is as baffling as X-Windows, even with all the pretty icons (which are totally irrelevant to the original goal of the program in question alltogether)
So I'm asking..do you find Windows really userfriendly? I still have to wade through a gazillion menu's and options to get where I want. I have to remember accelerator keys.
I get a dialog box with 5394030334 tabpages.
Wow. That's userfriendly.
If Linux really wants to kick ass on the desktop market, take the GUI into the next generation. Combine the ideas and knowledge both Linux and Windows programmers have.
The quality standards of the OpenSource community will weed out the bad specimen soon enough.
Let 'em have a go at it.
>> There are also issues with pointer vs. int
>> size does a char* fit in an int? Not allways.
> {SHUDDER}
> Please don't tell me that you actually do this.
In windows this happens all the time. Some of the Win32 ActiveX Objects even encourage this sort of nonsense (like Treeview, ExFileOpenDialog, etc).
Is it? On Windows platform there are competent programmers working on serious application. But, but, majority of the mass can't do much beyond their "wizards".
UNIX programmers? Can you count how many *NIX are implemented? There're at least 2 open source UNIX available. The Internet, Java, C/C++, OpenGL, VRML, HTML, etc. etc.
Correct me if I'm ignorant on some pieces of info, but you get the idea.
There's already lots of idiots who think Linux
is another name for Unix, and don't have any
clue or interrest in portability. Just take a
look at all those new graphics libraries for
Linux.
If this goes further, I probably will start to
totally boycott Linux, and use FreeBSD instead.
> C'mon! What you are saying is that users are
> essentially stupid and can't cope with variety.
> Hogwash! That's the same thing Microsoft claims,
> and it Just Ain't True.
I hereby sentence you to one year of tech support. If you give me any lip, I'll upgrade that to a year of phone support at an ISP.
I wonder how some of these people operate something as complicated as a toaster. It's truly terrifying how dense some of these people are, and y'know, they actually let these people operate a motor vehicle on the same roads as us!
--
Clover Kicker
As a former employee of Microsoft I can tell you NT was written in C,and C++ with some compiled proprietary script (that resembles Perl strangely enough) no Ada in NT or 95
Steven Blessing
Multiple words... The average salary of VB programmers (and Windows programmers in general) is a lot higher than the average linux programmer's.... I'll take the check rather than the hype..
Exactly - I've programmed in a lot of languages on a lot of platforms (COBOL, C, VB, QB, + numerous scripting languages). I tend to be of the mind - "Let's get the best solution" - not let's sit around and point fingers. Very few VB programmers are dependent on "Wizards". As for "Color coded debuggers" - hey - I'm all for better debugging tools. If I can interactively debug a program as it runs - GREAT. I don't see what taking advantage of available tools has to do with the quality of the programmer. If you linux programmers feel the need to invent the wheel every time you sit down to code - feel free... But that is exactly the reason why linux doesn't stand a chance as a desktop platform right now.... no established standards - no high level development tools... No high quality apps... For now I'll stick with MS tools, MS Apps, and a MS op sys ---- and I'll be laughing all the way to the bank.
Nonsense. The Linux philosophy is that easy things are quite hard and hard things are quite hard too. The Windows/Mac philosophy is that easy things are easy, moderately complicated things are hard and hard things are practically impossible. By trying to make the computer easy to use for easy things, Windows/Mac make everything else far harder than Linux. On Windows I'm continually having to deal with hideously brain-dead user interfaces (movable toolbars, anyone?) and hunting through hundreds of menus and control panels trying to find the secret selection box which will let me tell the computer to bloody well do what I want it to do and stop doing what Microsoft think that some idiot who knows nothing about computers wants it to do.
I hate the Windows and Mac GUIs precisely because they try to make things easy... and most of the things I do on a day-to-day basis are quite complicated. And I love command-line prompts because I can do things with them literally ten times faster than I can do then with the bloody Windows explorer.
The last thing we need is a zillion Windows programmers bringing their braindead user interfaces into Linux. Now maybe there's room for an 'Idiot's distribution' with all this crap, but I sure hope we can keep it out of the mainstream Linux distributions.
I am currently the only programmer on my bank's foreign Xchange trading floor. I jam out little shit applications like you can't believe. All the traders use excel, and demand excel. We have like 100 Sun's, for the quote displays (massive under usage!!), but the traders use excel via Citrix or windDD. I program VB, VBA Excel, access churning out the shit for the idiots.
The specs on the programs change hourly.
When I'm not doing this stuff, I'm on solaris and also telnetting to my home network (freeBSD,linux && solaris) working on my own stuff in C/C++. As you can tell, I'm not very happy programming in MSoft CRAP, but they pay me bucket loads of money, so I've sold my sphincter for the $$.
I program in linux, but most of the users in my business (banking) use windows. If we could replace those machines with linux machines, and the users could still use their excel and word via wine, I would be EXTREMELY happy.
Windows has a lot of different concepts that do not translate into UNIX and Unix programming requires some things that Windows programmers may not have heard of. A lot of programs coming out under Unix (even professional ones) show this.
/etc/myprogram/ and per-user config goes in the user home directory. This makes sense. Under Windows it seems that everything goes somewhere central. I even had a programmer that I'm working with tell me that putting per-user data in the home directory was daft because then configuration data ended up all over the system! Take a look at some programs that are coming out to see this point though (mentioning no names) - even some runing setuid so they can write to their central data area!
For example Unixes are generaly multi-user systems. System wide config goes somewhere central like
The X Windows system also has completely different concepts to MS Windows. There are a lot of non "X-Aware" ports out there that do not set things like class names properly (ever had problems with Windowmaker trying to dock certain things? What about XDefaults?) or generaly do not interact properly. (For example map, unmap and iconise seem different under both systems). Some assumptions that are valid under Windows are not valid under X.
Its all well and good being a Windows programmer coming over to Linux but to be a good Linux programmer requires some learning about Linux and X concepts. I hope that all these Windows programmers aren't going to give us a load of dodgy applications because they do not realise this.
Apologies for any generalisation if it does not apply to you.
- Richard.
Some meat in the Navy chow line tasted like it may have been rhino. Not everything tastes like chicken.
heh. i really, really want someday to meet somebody from someplace where chickens don't live, so they can ask me what chicken tastes like and i can say, "oh, it's good, it tastes just like lizard!"
:)
Hmm, a "self-limiting", "positive feedback loop", eh? This sounds a lot like a *negative* feedback loop.
I hate to admit it, but I tried to write a program is Cobol once in 1975. Fortunately, for some strange reason I misspelled "procedure" or some equally trivial keyword, which saved me from a HORRIBLE FATE. Somehow, I was able to spell it right a few years later when I tried Pascal. ;-)
While you C-dweebs are taking 6 months (at an over-inflated salary) to write 4 lines of code, I am writing programs that DO WORK in VB (as bad as it is) and am accomplishing something in less time.
The object of programming is to accomplish a task. Who gives a shit how it's done as long as it's done? If your boss says "I need this program written in 3 weeks" and it's a fairly complex program, you're going to use whatever language will get the job done. If you're better at C++, fine. If VB or Perl will do the job faster, or you're more familiar with it, fine too. VB won't be used to write an operating system, but for test systems programming, it's LabView or VB all the way!
The reason Linux is any good at all right now is because it's a good Unix implementation. There were a group of programmers who needed a solid Unix, and so got together and over time developed one. If Windows programmers require "wizards" and visual languages and all that stuff, they can program GPLed versions of them in Linux (or some other GPLed OS), and boom, they've solved their own problem. This seems like a Good Thing. Let them build opensource tools for their own benefit. It doesn't affect what I do.
I wholeheartedly agree.
Bravo! Remember, it is posssible to write bad code in ANY language. It is also possible to write good code in any language.
My job requires writing programs for HPIB-based test instruments. I also have a limited time to do it. VB does the job better than C++. The biggest problem there, of course, is that it is still Wincrap. VB5 cannot be used with Orifice 97 installed without crashing the system (M$ has acknowledged this). I wish that there was some RAD language available for Linux.
The bottom line is this: Do what you have to do to get the job done. Use whatever language will do the job and that you are best at.
WINE is a big mistake because it will never be as good as Windows for running Windows apps. Simply because MS will change the API with each iteration of Windows. WINE will always lag.
Therefore it is stupid, since people will be able to point at it any say "well this is certainly inferior to Windows because it doesn't run X app properly."
If you linsux users are so sure linsux is so superior, why do you care if Windows users migrate over? It seems that it is a forgone conclusion that people will switch to the greatest OS (NAY, the greatest piece of SOFTWARE) ever written in the history of the planet.
Why everyone hasnt already switched over is a mystery to me.
I can think of a few things windows programmers can teach Unix programmers:
... (um) ... egos. It is a real turn off. (Or the lack of smarts, sexual ability or whatever in those they disagree with.)
1) To care about the user
2) "Pride goes before a fall"
3) To realize that computers are a tool to help humans in their quest for more productive, useful and happy lives. Many Unix programmers seem to use their computer skills to boast about the size of their
4) To realize that building a spaceship with only a screw driver is not an indication of machismo, only of stupidity.
One huge difference in mentality that I have seen
between Linux and Windows programming is that the
kind of repetative tasks that often get done by
a "Wizard" in Microsoft dev tools are done by
library functions or classes in equivalent Linux
tools. This is a much more robust approach. Mixing
massively macroized machine-generated and
human-generated code is a recipe for disaster
because the programmer will not have a fully
clear idea of what is going on in his program.
Library functions and classes place common
functionality behind language abstraction barriers
and specified interfaces. That means you don't
have to slog through frankensteinish cut and
pasted code to know what your program does. Better
yet, on Linux you have source for the libraries,
the compiler, the kernel, everything down to the
bare metal basically. Working in the proprietary
software world I've been constantly frustrated by
the number of times bugs pop up in third-party
libraries, compilers or the OS and all I could
do was try my best to reproduce it, and then
beg the vendor to fix it. Such a waste of time!
Yes, you need to read a manual and type to a text
editor (or copy a skeleton program) to use
libraries effectively. But once you get past the
initial hurdles you will have a better
understanding of your program and higher
productivity.
I can't see why someone always has to flame XEmacs.
Get this: If you don't like XEmacs, don't use it. It's as simple as that. :=)
--Lars
>>Consistent keys for shortcuts.
>Check.
ctrl s in notepad no
ctrl q in ie4 no
I rest my case
>>You can have multiple tcpip configs and switch between them without restarting.
>Why you'd want to do this I don't know, but Windows can't.
Testing testing testing. And laptops.
>>No program interfaces that require one big grey square to hold all of the programs windows so that I can't find the windows of another program behind them.
>Ditto Windows. The only apps I see with one big windows holding all the other windows are bad Mac ports like Frontier. This comes from thinking that the menu bar has to belong to some abstract entity outside the windows.
Excel
>>Folders in the apple menu where you can open the folder (to change the contents)
>You can do that with the Start menu too.
Select the programs folder in the start menu.
Does it open?
Companies bend over backwords to make their products easy for Windows. This is the difference and the only difference between Linux and Windows as far as ease of use. As soon as Linux gains market share this difference will evaporate.
Just who are you trying to defend here, Windows or Mac adherents? Many of us were using X before most of these 'Windows developing hordes' even got clued into this GUI concept. If someone is worried about never needing to learn about their computer, DOS and it's decendents are the LAST thing they should buy. If they buy such a machine for usability purposes, they deserve to be flamed to cinders.
WinDOS simply ain't no Macintosh.
That Windows is necessarily 'easy' to deal with is the greatest lie of the age. It's why some of us were ever in the position to know how to deal with a Linux machine to begin with.
He's right. Linux just might have a chance against Windoze if the GUI continues to grow. Granted: I understand how the Linux society doesnt want ignoramouses jumping on our bandwagon, but I see little choice. Improving the GUI will only help Linux and it will still allow the techies to be techies.
Sorry about that, but I have to shout to be heard in this melee.
I did Windows for about 10 years, starting with 2.01. Then I just got fed up. Now I've retrained myself. I'm working with Solaris workstations, but developing for a VxWorks-based platform.
I find that I meet a better class of people now that I've broken away from the Windows world. My former cowrkers were a mixed bag, but the managers were all slime. Some sort of natural selection, I think. Steep learning curve keeps out the riffraff. I wish I'd had the guts to leave earlier.
(Just because I'm trolling doesn't mean I'm not sincere.)
The nice thing about Linux is that it independent of market considerations much in the same manner that DOS and Windows are. Linux isn't going anywhere. It has no Atari's or Apple's to deal with.
So, the notion that we must quickly emulate a system that never had any pressure on it to excel at anything soon before Linux evaporates is just plain absurd.
We've already got market independent mediocrity by way of Windows. That doesn't need to be replicated.
Speaking as someone who writes trading software at a very large investment bank (Warburg Dillon Read, part of UBS AG), we rarely use VB at all. VB is only used for one-off desk applications, e.g. some FX trader might like customized data fields in his Excel spreadsheet for Swiss Franc trading.
The core of our software (the stuff that uses our proprietary financial models and does the majority of trade entry, pricing, and reporting) is actually written in Objective C to run on OpenStep. Only recently have we started using Java-written clients and XML so that the traders don't all have to have NeXT boxes on their desks.
Brock Arnason
M.Eng. Physics
United Bank of Switzerland
Oops, my bad. Indeed I shouldn't have classed all the Microserfs as drones. Michael Abrash sure as heck isn't a dummy.
:-)
There's some neat stuff going on there in research as well.
Of course, after reading I Sing The Body Electronic, it's easy to make sweeping generalizations like that
A very different set of economics was in place when COBOL was "The Way". In the 70's, your bank paid 1-2 million to install a mainframe. After doing so, they didn't hire some kids fresh out of college to program them, b/c mainframe crashes, and thus accountancy fuck-ups, are BAD. They hired the most expensive people they could find. Ever hear stories from your elders about COBOL proggers driving around Silicon Valley in sports cars?? It's true. They hired fucking geniuses, paid them god-like salaries, and recieved functional code that doesn't crash, was delivered on a run-time environment with few bugs, and has remained functional to this day in many cases.
This, of course, did not please the managers of aformentioned progger gods, who were being paid less than their "underlings". So now, rather than small, talented, development groups operating without managment, we have large, untalented groups of novice proggers, held together only by masses of management. It doesn't work. The kids are still learning (no, your 4 years of C++ classes didn't teach you everything), still making rookie mistakes; the kids also don't have enough of a big picture on the project to spot problems before it's too late; and since when have good managers been easy to find, let alone ones experienced in bug-free development?? Good luck.
Notice how the air traffic controller systems are still 70's cobol systems?? They spent 15 years on cubicle mazes of C kids to write a new system, which has never worked. Ask your bank what their mainframes are running on now.
I don't have any cobol around the house, but then, all the things around my house crash from time to time. Figure it out.
Motif supports Mnemonic automatically. You don't have to add any code;
you just have to specify which letter is the mnemonic (in the app-defaults
file).
Unfortunately Netscape (which is probably the most widely
used Motif application) doesn't define any mnemonics by default,
which leads some people to think that this is normal.
It is trivial to add them yourself, though.
Windows programmers arent whats needed. What is needed is an install for Linux that is as easy as a Windows98 install. Some of you hate the thought of that, but that is what it will take to get hordes of users to move to the OS. Linux will always be Linux but it needs to have the technology in place to get the average user interested in using it that would normally be a Microsoft customer.
We dont need Windows programmers, do you want the same people that screwed up WindowsNT to screw up Linux??
kraemer
kraemer@hal-pc.org
Are you really trying to say something? I guess it's just a void rant.
Absolutely - these Winners believe that the MS-specific keywords "far" and "exportdll" are part of the C++ language.
For everyone's sake, they should just quit programming altogether and join the circus.
Windows programmers should insure their "clicky" fingers - otherwise they'd need a trained monkey to press their wizard buttons.
On the contrary, there is a direct relation between your quility of code and OS. Put simply, if Windows programmers go to Linux without becoming Linux programmers, the code quility will be degraded.
The OS makes the programmer. Windows programmers think of programmers from a GUI standpoint - they do not make distinct program components, they program around the GUI, not the other way around.
Look at the Windows programs ported to Linux - Star Office, Word Perfect, etc. They all tend to act like Windows programs. Star Office is grossly bloated and Word Perfect is buggy, and doesn't use Linux convensions. Word Perfect, for example, thinks you should tell it what brand of printer you have, and not just output postscript.
It, therefor, better that Windows programmers either learn to make real programs, or keep programming for Windows, and not bother with Linux!!
Windows programmers would build a spaceship with duct tape.
See, there's an old Unix philosophy: make it work, then make it pretty. Windows programmers make it pretty, but never make it work. Look at the software for Windows. Bugnet won't even give an award, it's all so grossly bugged up.
IMHO... actually, IMO: Not all Unix programmers are good programmers, not all bad programmers. The same is not true for Windows: most really are bad programmers. Look at the hero of the Windows programming community: Microsoft Foundation Classes - API designed by lab rats. Sure, it's good research, but not for computer science, for animal behavior studies.
I would argue that the perception that Mac programmers are better at UI design is the result of the fact that Mac programmers have always been held to a higher standard. The Mac has always been a no-muss-no-fuss machine, and Mac users expect that across the board. For example:
For all it's marvelous technical chrome (which, believe me, I love as much as the next geek), Linux is still hard to install, hard to configure, a nightmare to maintain, and a total powderkeg when upgrading.
As the author of the article quite rightly pointed out, it's about the culture of the programmers, but also of the users. Part of the reason Mac software is, on average, as good as it is, is that the users wouldn't pay for it if it sucked. Mac users expect a high degree of stability, a consistent interface, a low learning curve, and an obsessive attention to detail and excellence when it comes to UI. Mac programmers know this, because they're also usually Mac users.
On the other hand, Windows (the world's most unstable, slow, and bloated [P]OS) has continued the myth that "that's just how computers are". Bullshit. That's how poorly designed systems are. However, Windows programmers (and users, as well as many Linux programmers/users) don't know the difference because of the environment they have always had and have come to accept as the norm.
The Mac has shown (for many years) that a higher standard is achievable. The problem is that we've continued to accept that our OSs and applications be difficult to setup, maintain, and upgrade. We must overcome our complacency with crashes, reboots, and obscure systems; we must learn to be dissatisfied with our systems; we need to develop a sense of when a system isn't right, instead of just accepting it as is. Under the OSS model, that's the only way they will ever become better.
Ken SchalkPerl compiles to bytecodes. Look it up.
Yes, most interpreted languages do. I think what was meant by compiled was 'compiled to machine code'.
After reading the comments and old flames, letting them simmer all day, I have a gripe to the whole knocking of RAD and VB. Yeah, VB sucks in a lot of ways. Yes, people write crappy code with VB.
Of course your snubbing them is what keeps M$ in the winning position.
Most businesses (Small Business in particular) cannot afford to pay for development of real code. They don't have a staff of people who can crank out elegant C and C++. They do not have the luxury of being able to tweak and refine the application until it purrs along in a perfect state. They can barely afford to hire someone to do any custom programming at all. So all that is left to them is hiring someone to come in and crank out some VB stuff to get them going, even if it means only limping along. Less time spent twiddling with the UI means less billable hours.
As long as they cannot get their programming needs met, all that is left to them is bowing down to Redmond (Facing Atlanta).
No, it's not as much fun as writing some new sexy window manager, stroking the kernel until it is a work of art, building a new toolkit that handles any possible need. It is dull as dirt programming.
You don't like VB, fine-- don't use it. Crappy code can be written in any language. So can good tight code.
What many business people need is a RAD that they can get someone to come into their place, spend a little time getting their database frontend or whatever going and still have enough money left over to make payroll.
It's easy when you are programming in your spare time, in the off time when you are waiting for some stupid tech support call, or as a hobby to take the time to make a program that is truly magnificient.
Don't like the language? Make a better one. For a lot of things VB is pretty slick. The isolation of events and their associated code is a nice feature. I much prefer event driven models than top down programming anyway. Basic language? Nah, it sucks but it is what is available for that type of programming. Make one in C++, (like one kind of similar available for the QT libs-- QTez), Perl, Python, Java (of which one already exists from Halcyon called InstantBasic-- builds Java bytecode) or whatever.
Yeah, it is really easy to say that the tools suck but until something better comes along, people will have to keep going back to M$ to keep their business alive.
Well, the login doesn't seem to like the password. I don't want to go through life as an Anonymous Coward.
sabecon
sabecon@hiline.net
i'm not a regular library of this stuff, but for example, the standard declares (and the last few years worth of draft standards have declared) that the scope of a variable declared in the parens of a for(), is limited to the block controlled by the for . . . e.g.
for( int i=0; i!=10; ++i )
cout
cout
. . . but MSVC says i is still in scope outside of the loop. that point was initially left vague in some long-forgotten draft standard many years ago. any fool thinking about it would limit the scope to the loop, and borland and most other compiers did just that; but MS jumped the wrong way, and then enshrined it in MFC (alongside a thousand hideously unneccessary gotos). since they never throw away anything that's broken, they still preserve that crap in MFC, and therefore in their compiler, to this day. and they always will.
that's the only example i can think of offhand at 11:30 pm, but you can flip a checkbox somewhere in the endless maze of dialogs, and make the compiler do ANSI. try it and see how many errors and warnings you get on windows code that works perfectly with that checkbox unchecked.
to be fair, borland's compiler these days breaks the standard too.
have look at the MFC source sometime. it really bays at the moon.
1. [word etc.]
what year? i'd be surprised (but not TOO surprised
borrowing one feature from TeX and another from whoever invented WYSIWYG interfaces (probably Xerox; you can tell because they never sold one
2. I'm pretty sure OLE preceded OpenDoc and there is no doubt which one was first to have a complete specification, and implementation, and ship, and which was used by real applications.
OLE came out of Xerox PARC, sometime in the late '70's or early '80's, IIRC. Like GUI's and everything else they didn't DO anything with it, but they did invent it.
as for example #3, it's so deep in marketroid/MIS buzzwords that it's impossible for me to puzzle out what you're trying to describe. unfortunately, i'm a programmer, and i don't wear a tie. if you could re-express that in english, or in computer terms, i'd be willing to discuss it.
quite frankly, even if all three examples were inarguably valid, that's a grand total of three examples. compare that to any other significant software company out there. these are refinements at best. then compare R&D budgets. they're hiring all these brilliant people, their research division is seven years old and billions of dollars have vanished into it: where are the innovations? where? their R&D budget is larger than the total operating budget of any other company on earth. i see a lot of new buttons on the spell checker in word, and excel now crashes in more ways than ever before, but when will i see something *new*? they've certainly refined the creation of versioning fiascos and gratuitous incompatibility; they've got that down to a science that even IBM envies. i suppose that's innovative. god knows it's the best they've got.
btw i develop for windows for a living. i came by my dislike for microsoft honestly: by digging through MFC source for arbitrary asserts (MFC is documented with comments next to asserts in the source), and by spending whole days using my powers of inference and deduction to find out what the API functions do (as opposed to what the docs claim they do, which is often similar but rarely quite accurate).
Both kernels have their share of assembly (like any OS does), and I am sure that there is some C in NT lurking.
The window managers (USER.EXE) were implemented in C.
I refer you all to Inside Windows 95 by Adrian King and Unauthorized Windows 95 by Andrew Schulman. The latter is serious reading, so don't pick it up if you are not up to it. And I suspect that most of you aren't.
Yep!
Your a little off on the for loop thing. Bjarne
Stroustrup originally designed C++ so that the
variable would have scope untill the end of the
function. He later decided it was a crappy idea
and changed it. It has been correct since
VC++ 5.0
If you want to pick at VC++ why not pick at a
valid complaint like the fact that it only works
for and in Win32!?! Or that it is a major disk
hog and a 5 line program needs 5 to 10 Mb for all
the project files needed to compile it?
I haven't been too impressed with the usability of many Windows programs (and I'm not just talking about the programs made in Redmond) so I don't quite see what they are going to do for the usablity of Linux.
I am, however, worried that they are going to treat Linux like Win32 by writing 32-bit, little-endian code that wont even compile on my Netwinder. I see enough non-portable code from Unix programmers
I hope they spend the time to learn the platform properly.
I believe that many people that will be posting later will be forgetting what Linux and OSS is about: use what you want. Use the Window Manager you want. Use the distro you want. Heck, make one yourself if you want.
When and if Windows programmers come over to Linux, sure, they will begin to look at usability code and stuff like that, but they will become confused when they see that X works with multiple window managers, not a single one such as explorer. Before the Windows users out there chide me because LiteStep is out there, recall that LiteStep is a *SHELL* not a Window Manager.
Also, by the time most mainstream Windows programmers switch, I believe that GNOME and KDE will have taken control of most of the visual desktops, making it almost impossible for a developer to ruin most Linux users' desktops by just adding their own code (as long as the users stick to official distributions of the packages...).
Finally, there are many good programmers for Windows, stuck in an industry-centric job. They go where the industry goes (they have to earn a living...). And just as all the other Linux hackers out there learned, they will also.
- Shaheen Gandhi
gandhimail@worldnet.att.net
So, if Windows programmers produce crap, as so many posters here are claiming, why the excitement over Wine? Wine, it seems to me, is a clear statement that Linux users want or need the programs those Windows programmers have written.
This is getting a little insulting guys. Windows Programers do not equal Microsoft. It does not mean we automatically use VB (though I think it has its place), or write crappy programs. So give it a rest...
A lot of the stuff he talks about is already here
or starting to happen. The new kernel (2.2.0)
already has decent sound and apm support. KDE
1.1.1 is pretty polished and usable (unlike E - no flames please - KDE works out of the box and is easy to configure without editing text files).
He has a point though - usability can always be
improved, and although I think KDE is more usable
than the Win '98 interface, stealing good ideas
from MS (they don't have many, but they have a few) makes sense. A lot of the good gui features
in Windows were stolen from the Mac anyway.
Also, more programming bodies can't hurt.
After reading a lot of these comments I think its funny how all these people forget about managers, deadlines, etc. How many times have you said "well, it works for the most part, but it needs polishing" and in return you get "well its good enough for now then, work on this piece we're way behind deadlines". Seems to be a pretty common thing at MS, and when you start with a wobbly base its near impossible to build a stable product.
Give anyone who's been programming for any amount of time and who gives a damn about quality a stable platform and a decent set of well documented APIs and I'll guarantee you they produce good code.
Just my $.02 on this one...
We need the NeXTSTEP programmers...now /THERE/ was a sweet interface. :)
To me the difference between Windows programmers and UNIX programmers is that the hordes of Windows programmers can mostly be classed as application developers, whereas UNIX programmers are more apt to be system programmers, deeper into the layers of the OS.
I'm sure the app developers have their place, but UNIX is a different beast from Windows. More often than not you stray into the system level, and you can't hide behind point-and-click development tools.
Given that Windows (and NeXT Step, and Motif, and ...) libraries already exists, the issue is also not that there is much missing from Linux. If people want to program Windows-style UIs under Linux, they already can. Most people who complain about poor usability in Linux are simply complaning about the fact that people write software for all different kinds of UIs, not just their pet ones. That variety results in some fragmentation and duplication of effort, but it also is what primarily distinguishes Linux from Windows.
There is only one area where I would like to see a little more standardization in Linux: in the area of inter-application communications. But efforts are underway: xdnd seems to have been adopted, and COM-light/CORBA are both becoming more widely standardized and used under Linux.
After looking over the comments posted here, I've noticed a high percentage of negative reactions to Windows programmers coming over to Linux and a number of false assumptions about Windows applications.
For your information, there ALREADY is a very healthy market in Windows freeware, and this freeware is GOOD. On balance, much better than a typical Linux app and much more usable. Most do not use Visual Basic, but C or C++. I've not paid a penny for Windows apps except for my C++ compiler for years since using Windows, reluctantly, after the decline of Amiga and Os2, and I have everything - midi sequencers, excellent text editors, graphics, internet apps, etc. The Linux apps I have, with a very few exceptions like Gimp, are in no way competetive from the standpoint of power, flexibility and usability. Without usability, the first two don't mean much.
Just because the underlying system (Windows) is bloated and unstable when stressed does not make these apps bloated and buggy. These many excellent free apps are in no way like bloated office suites and browsers (which are just as bloated and buggy in their Linux versions). They are generally mean and lean.
Fes Windows freeware programmers release source code. A few of these free apps use GPL licensing, but most Windows programmers don't even know about GNU, yet. Source code is not generally released because most of these free apps started as shareware, and when their authors were not able to get enough people to pay for the shareware, they said to heck with that, and released the apps as freeware. As these excellent software authors come over to Linux, they will release source code, though. Some already do.
Wake up, insular, ignorant Linux elitists. Good programmers write software that is usable, not arcane. If you can't create apps that people want to use, and which are usable and efficient, you are incompetent. Using or not using vi or emacs has nothing whatsoever to do with one's competence as a developer.
People who want to be developers but who don't have the right stuff become sysadmins. Your days numbered, because you can no longer get away with writing lousy apps to keep Linux an elitist thing (and protect your boring sysadmin jobs which depend on system utilities for unix which have poor interfaces, inconsistent switches and parameters, etc.).
Windows programmers writing applications for Linux will in no way affect the underlying system or kernel. Applications programmers DO NOT want to do kernel hacking or write device drivers or develop new systems. Subsystems in which their apps can live, perhaps. The influx of Windows programmers will probably not even affect desktop systems and subsystems like Gnome and Kde AT ALL. Rather, these programmers will use api's provided by gtk, qt, kde, etc., to develop what they are good at, which is APPLICATIONS, not systems.
The times, they are a-changing. It's about time.
The guy who wrote that article may be a programmer, consultant, and technical writer but I wouldn't give him an ALO disc in return for his programming, consulting, or technical writing about OpenSource. Here's why:
In general, he's right about WinGeeks scratching thier developer itches and contributing things. The same thing has happened when poor souls are forced to work in an NT environment we saw vi ported, emacs ported, GCC, sed, awk, you name it ported for free or sold like Hamilton csh and Attaman telent daemon. Of course, M$ has also done things (IIS, Terminal Server addition, CrappyDNS server, etc). This made NT more bearable for *NIX users/admins. The same type of thing will eventually happen with Win32 crap and Linux if there is enough interest. One difference though: since no cestpool of marketing fuckheads controls Linux, you won't have to take "features" you don't want.
That's where Lou fails in his analysis: so long as the source remains free, there will be some package configuration, some distribution team, or some heroic individual who will work towards what long-time Linux users like. Even with a "demographic shift" as described in the article, OpenSource is IMMUNE to total mutation and/or hijacking from whining Win32 (l)users who don't understand or appreciate "mount".
Use the source, Luke.
Get a clue, Lou.
It's not so much that Windows programmers write better GUIs. Most GNU/Linux programmers are capable of writing perfectly good GUIs. It's just that most free software programmers tend to focus on writing a solid core before worrying about higher levels of the application. A program who's functionality is also available through text configuration files and command line tools is that much more powerful.
Most GNU/Linux programs are fairly new, and are just getting out of the level of building a solid core, and are only now starting to shift to GUI work. It'll be another couple of years before we see good GUIs, but when they start coming out, they'll probably be better than the crap we see on Windows.
- pmitros at mit.edu
(note: I wouldn't mind an influx of Mac and NeXT programmers to help with the GUI)
"Linux is in danger of getting overwhelmed by the ... yeah like the West was in danger
hypergrowth as thousands of Windows programmers
defect to it"
from all the people who defected through the iron
curtain!
M$ programming tools include wizards that make it easy to pop up some decent looking GUI interface in minutes.
The MFC wizard produces ONE GUI. It's the same one, every time. If that's not what you want, well, tough shit. It'll take longer to re-engineer it into something useful than it would have taken to write what you want in C from the ground up. I am not kidding, and I am not exaggerating. I hang out in the funhouse mirror that is windows development for a living.
MFC is very useful for writing Notepad clones, and also other programs that look and act like Notepad clones and basically do the same thing for other file formats. That is what MFC is good for. It also militates violently against abstraction and it generally isn't much more object-oriented than a hockey stick. Blechh.
I'd rather eat a rhinoceros than spend the rest of my life on that crap.
Joe Dzugashvili
steel@intern.com
p.s. Yes, I did eat a rhinoceros once on a bet, so I know what I'm talking about. I was drunk, I was young and full of life, you know how it is.
1. I have a feeling that most of the windows programmers who really emjoy their work already have linux installed and are weening away the nights figuring out how everything works. All the flamage that is going down on the VB crap is irrelevent.
/. =)
2. While win32 has some serious design flaws, the biggest challenge of windows programming is coming up with a really good UI. Its hard, and I think the effort far more often fails than succeeds, both in windows and in X. While throwing more heads at the problem isn't going to solve it, we will surely get more gems mixed in with the dung.
3. I think there is very little to leverage specificly from windows to X that isn't already cross platform under the guise of "good design"...(patterns, STL, etc...) What you do get is a tap into another source of fingers to be typing.
Ah well... I got learnin to do and already spend too much time wasting others time on
Be it programmers or users. Help make Linux to
something you like. May the best implementation
and programmer win!!!
Ok, first off, before the flames begin let me say something: I work at Microsoft; I develop Win32 code for a living, in Redmond, at Microsoft. Secondly, I've been using and developing for Linux on my own time away from my job. I like Linux quite a lot and because I work at Microsoft doesn't make me any less of an engineer. I've been in this industry for going on ten years now and really enjoy being able to write code for any platform I see fit. Microsoft does some things very well and others are woefully inadequate. ( I use Linux as a server at home so I know where to use what. ) Now I think introducing programmers who have only coded for Windows to the GNU perspective can only be a good thing. And lumping all MS affiliated engineers into the "stupid, can't code their way out of a box" category really makes noone on the outside the Linux community want to join up. I think software quality is a huge issue no matter what platform you're referring to. I've used cruddy, bugridden software on any of the platforms I've ever encountered but the shear number of Windows app that people have encountered that have problems I think may make people think that Windows has more that its fair share.
/dev/null on Windows)
I code for Microsoft and not ashamed of it.
(Well, I'm anonymous because I know my mailbox would fill up with mail flaming me for working where I do and feeling the way I do, and there's no
-J
While I think that Linux could always use more "competant" programmers especially those that have expertise in GUI design and human factor engineering, the author of this article seems to think that windows programmers are the messiah come unto linux and that they alone will usher in the age of Linux domination. Really? Geez If they are so necessary how did linux get to where it is without them. Why is it that there "apparent" superiority - if you believe the article -- hasn't quelled the grass roots rebellion against windows that is linux already.
....follow the yellow brick road to Redmond ( you wont actually receive a brain but a man behind a curtain will show you many wonderful illusions ).
While I have no problem with there being tools available for those who need them or want them, such as automount CD utils etc, I dont want them to replace what Linux is currently. It seems from the article that the author doesn't understand this, that both can be had and live together harmoniously. Instead, he comments that the mighty windows programmers will decend into Sodom and Linux and will tranform this place of sin such that the prophecy will come true and linux will achieve World Domination and be King of the OS's.
As far as ease of use on the desktop, if someone cant use GNOME or KDE its not a desktop created by the great windows programmers but a brain.... go visit the wizard
More and more tools are being developed for X as opposed to command line tools or dos like interfaces. These apps are utilizing toolkits like GTK+ ( personally think this is the best looking widget set I've ever seen... any OS ), Xforms, Fltk, wxWindows, etc and they all basically are setup very similar in terms of menu's, toolbars, etc. I defy any one to prove to me that apps written with these toolkits in X are any less user friendly that windows. Maybe the commandline tools are less friendly ( hell some are down right evil ) or standardized but there are X equivalents to most of these.
Some windows programmers would be lovely to have and I'm sure they would have some very good ideas to contribute but please dont make them out to be the magic bullet for Linux's success. The only thing monumental about windows programmers programming linux that would in any way be a paradigm shift is that conceivably they would no longer be programming for windows and thus a "brain drain" from windows to linux would occur.
I have a solution for how to achieve the unified look across all applications on a desktop. Instead of having the widgets ( looks ) defined by individual toolkits, have them make calls just to a general windget name...ie button.. and let the window managers supply the widget images for all widgets. Thus on any one WM the apps will all have a consistent look... this would still allow flexability because people could conceivably "theme" the widget set for each WM to allow all sorts of weirdness. The biggest problem I see for this idea is that there are manytoolkits in use that would have to have parts rewritten, everyone would have to comply, WM would have to develop standard widget sets for respecitvely and a ton of programs would have to be altered and recompiled... a sizable effort, one I'm not sure is absolutely necessary but an available solution should it be mandated by users at large that a 100% consistent look between apps exist
Just my thoughts on the matter
jeff
Windows programmers who work on the "fluff" of usability issues are the main need of Linux, if the OS is ever to be truly competitive on the desktop. The common user wants the OS to enhance not impede their work. The computer is supposed to make life easier, not complicate it. I love Linux, but Windows is easier to use and from a management point, more efficient as a desktop for my workers. In the back office, its Linux everywhere because the BO is where my techies are. But for the non-technical user, Linux causes more headaches than its worth. I look forward to the day when userfriendlines is given its proper respect as a necessary feature. But until that day, Linux will be not be a real threat to MS.
What they don't factor into those number is the fact that freely-available Unix has put a strain on the commercial Unix market, at least on the workstation side. NT is a minority.
Same goes for the server-side, which, conveniently, they fail to mention in this Microsoftian article.
Please don't confuse two things. "Unicode support" mentioned in the article is not what Linux, or Unix, or people need -- Unicode is a half-assed way to support displaying text in multiple languages without really supporting any of those languages. The problem of multiple language support is much bigger than the use of some overbloated alphabet, it still needs a good solution, developed with clear understanding, what exactly is necessary to make the use of text in multiple languages suitable for reading and processing. Unicode solves small part of the problem (how to represent and display a string with text in multiple languages) but makes impossible to solve anything else -- the basic question "what language is this word in?" can't be answered after the text is converted to Unicode.
I personally believe that there is no alternative to the development of text charset/language labeling system and format (that will use existing language and charset names -- no need to reinvant the wheel there). Maybe XML (without the requirement to use Unicode everywhere -- this requirement is to say the least, is odd in that standard) can provide such labeling, maybe inline MIME-ish labels will be useful, but plain extension the character size and requirement to use one "charset" for everything is just a way to sweep dust under the carpet. This is what we can expect from Microsoft (and they have done it, too -- but ask non-western-European Windows user if it helped) but what will be a huge step back for anything more advanced.
Contrary to the popular belief, there indeed is no God.
Don't even DARE tell me that a multiple charset approach such as the ISO-2022 crap is better.
Why not make a better labeling system? The idea of one huge charset that includes everything else is still flawed, that fact that existing alternatives are bad doesn't change it.
As for those Asian and European stances about it, they are no better than an American saying "just use ASCII for everything". They have something that works for their narrow uses and couldn't care less about a solution that works for everyone in the world.
It does not work for "everyone in the world". Japanese don't like it, Chinese don't like it, Koreans don't like it, Russians (myself included) don't like it, etc. Who does? People who speak English (first 128 Unicode symbols are ASCII) or use Latin-1 (first 256 Unicode symbols are iso8859-1). No one else.
Unicode is an attempt to bring "happiness to the world" by forcing one narrow-minded vision on people who don't approve it, by telling them that "others" like it. There is no "others". No one uses it or likes it except people whose existing charsets happened to "coincide" with the beginning of Unicode table (so they remain using their charsets, possibly inserting more bytes into their strings).
I certainly prefer to use koi8-r for Cyrillic and have MIME headers in mail and web pages tell me what charset and language is used. With the lack of better solution I can use multipart MIME message to represent document with multiple languages. I will prefer to have better way of handling multiple charsets/languages (even though personally I never deal with documents that contain more than one language other than English, and ASCII is a common subset, representable in all charsets), but there is no better way now, and Unicode certainly is worse than that.
As for Microsoft, if it makes you feel better you should know that their implementation has the usual flaws and violations of the standard that Microsoft always has when they try to use an open standard.
It's poor implementation of poor standard.
Don't let them distract you from the best technical solution.
It definitely isn't the best of what can be made, and what is worse, it's a dead end -- no possibility for improvement because the whole concept of language is thrown out of the window.
Contrary to the popular belief, there indeed is no God.
1. You might want to look into MacWrite. :)
2. Apple had Opendoc first (well, slightly, but they were first)
3. Maybe they did innovate on this one, although I'm not exactly sure what it is
I read the internet for the articles.
Screen fonts? OK- I am a big fan of many of them. I wish I had ProFont on linux :/ ;) :) :) most people do not use Applescript for anything. ;P ;P :P ;) again, a waning style... d style... I really hate when there are three little areas, one for connection, one for message list, one for the message- my priorities call for some of these to be in _background_ windows... ;P ) to Color Quickdraw and the prospect of its windows being drawn half on a big screen at thousands of colors, half on a grayscale monitor off the side there, with meanwhile your refresh area being a region defined by the area not covered with two corners of other windows and a floating toolbar in the middle of your refresh area... this is enough to make you crazy. I'm going to find writing wee console apps much simpler- and there are things I need to do which would make fine little console apps- nothing more is needed, because this is linux, and I can pop open an xterm or use root tail to display the output of my program- or just pipe it into something or other. I have critical programs that could be reproduced by a sufficiently baroque shell script... :)
Consistent keys for shortcuts? Aaaa! How I wish I had this on Linux! I really miss it terribly. I _use_ the keyboard. Hell, _Netscape_ does not have all the keyboard shortcuts under Linux. I guess I better learn emacs
Type/creator? Damn straight. This _works_. It _also_ assumes you are going to be making choices about your apps and files, that you will want to customize them or have special cases. The closest we get to the Windows file mapping tyranny is Quicktime or Internet Config download mapping. Even that sometimes annoys a Mac person...
The filename stuff is all basically the same in Linux- no extensions, the period is just another character it seems.
Contextual menus? That's recent for MacOS- but it wasn't Windows that invented it- it was Smalltalk! My preferred Linux windowmanager is Window Maker- it uses popups heavily, and lets me assign Fkeys to help pop up the menus that normally are 2nd and 3rd button.
No MDI windows! Damn straight, but you're understating how good drag and drop is on the Mac. Though it still has missing spots- every single network application I use (email, news, IRC, _ftp_ for God's sake) is totally drag-and-drop savvy from the desktop. _Netscape_ is not. I have to bounce stuff off of Simpletext to get text clippings. Text clippings _rule_. You don't even have to use a texteditor to view them- it's built into the windowmanager ("Finder"). The point about MacOS encouraging layering with offset windows is quite accurate- on the other hand, Afterstep has one type of effective virtual desktop (visual icon view) and Window Maker has one in which the arrows on the clip, when the clip is kept in the topleft corner, are clickable even with a window mostly covering the clip. I consider that as good as anything in MacOS, and I love MacOS
Unix shells beat Applescript- with Applescript, the syntactic sugar hides the fact that it's still hard to get apps to do what you want. You have to get abstract anyway- best to not _pretend_ to be plain English
Color matching is still unmatched by anybody else- if you've used recent versions of ColorSync, you understand. Ironically it's marginally less powerful than earlier gamma controlpanels- but settings like accurate 50% settings for each color channel are made totally intuitive and graspable, and the process is clean and easy and direct- and Mac gamma IS GLOBAL. _All_ colors are correct, not just within certain windows like app-based color matching. I'd love to see Linux have something like this.
Novice interface? Let the KDE people do that. Just keep 'em from getting in the way of my Window Maker, please
Actually we do have tabbed dialogs, but they are new and usually part of Win ports and I personally dislike them too. They are an interface copout, an attempt to keep all options in your face at all times, like toolbar madness
Installers more and more put stuff in the apple menu or system folder- I hate this too- the thing is, it used to be that programmers respected that we set up our _own_ systems. These days the assumption is that we want the programmers to administer everything. Blech- that'll drive me away from MacOS if it gets too bad
Interestingly, the 'no window open' program always loses newbies- you launch a good Mac program and it waits for you to take some action and the newbie thinks nothing happened. It's like Unix- expert users want a cleaner interface. This type of Mac program is cleaner- in those cases the program's waiting for you to make a menu selection, and not drawing dancing paperclips and crap
BBEdit rules. Newswatcher rules too. There are indeed some beautiful apps there. I'm personally fond of Eudora Lite because of how light it really is, and how much you can do with keyboard shortcuts. It'd take me three times as long to handle the same load if I had to use the mouse- and I don't know the commands for Pine etc for doing this, nor do I have the same graphical overview of the messages I get in Eudora. Interestingly, all these programs are multi-overlapping-window style instead of textareas-artistically-spaced-in-a-gray-backgroun
GUI just _isn't_ tossing icons everywhere and putting all the types of information in different textareas... Mac hackers, powerusers, programmers, understand this: there is tons of serious research that's been done about this. Buy 'Tog On Interface' if you're serious about GUI- if you want to do userfriendly you do it this way or you're not doing it at all- it's a science, it's not an art or popularity contest. And Windows is hardly an example of the right way- and much of the Mac world isn't the right way either. You can get tons of Mac programs that suck. I just avoid those where possible.
And yes- I program. Not well- I guess some of my ideas are OK, I guess some of my algorithms are OK. I've been implementing them in REALbasic for the Mac (like VB done right, without sucky parts, and fully compiled to native code). I anticipate having a much easier time learning C on Linux than I would learning it on the Mac (at least until I can get codewarrior) because C on Unix is _easier_ than Mac programming. Much. Mac programming is insanely hard- your program is expected to understand everything from drag+drop (and oh, that's fun to implement!
I think, in the end, I'll be starting to program Linux simply because I expect Windows people busily programming Linux to make it work better for newbies and look and act more like they are used to- and this will hurt what it means to me, so in selfdefense I have to get involved and put some work in, stake my claim and define my territory. Not to make linux look and act like a Mac- but to retain the freedom to have it looking and acting however I please. So far I can still totally work it over and make it individual- I don't even want to lose that. I got a good, strong taste of that freedom using a Mac for years- I won't go back, I want to go forward and have even more individuality. Woohoo!
And of course, I'd like to get my hands dirty with some techie details I'd really be able to cope with. I just _rebooted_ solely because, after hammering away at 27 different kinds of net content for 12 hours straight and then having a PPP timeout, MacOS got confused and couldn't shut down PPP effectively enough to restart it. At least in unix if I knew the correct obscure commands or whatever, I could do it myself...
The Unix philosophy is a Good Thing, and I expect that many/most defecting Windows programmers will recognize it as such. I did.
If you mean that the same functions in different apps are accessed in the same way, then yes, consistency is a good thing because it makes it easier to transfer knowledge about one app to another. However, trying to make all apps somehow look alike is not necessarily constructive and may make the UI less logical because the programmer(s) feel(s) that the functionality of the app has to be force-fit into a certain mold. Consistency is a good rule, but programmers and UI designers have to rememeber the reason for it.
Posted by OGL:
/. had improved somewhat from their flaming past, but I guess this thread proves us all to be just a miserable bunch of whining children.
This is really pathetic. I can't believe some of the comments made here. I used to think that the people on
"Look how good they did with NT, 95, 98, Office, and all the crappy applications they made"
All of those are Microsoft applications...this should be self-explanatory. Obviously if you liked the quality of MS software you would probably use their operating system as well. But do you really think all Windows programmers work for Microsoft?
"Those ones that write buggy limited software using buggy limited IDE's?"
Is this really what I'm hearing? All software has bugs, and if Windows programmers want to contribute to the OSS codebase, how is that any different from a newbie Linux coder releasing his code under the GPL? This is one of the biggest FUD-filled generalizations I've ever come across.
To sum up, you people need a clue. You must be the biggest bunch of hypocrites on the net. No one on slashdot ever deserves to use the word "FUD" again after this thread...
-W.W.
P.S. Sorry if this seems a little extremist or harsh...but when is slashdot going to grow up? I used to read it all the time, but now I'm finding myself stopping by less and less often.
Posted by freethinker@notpsychoaboutlinux.com:
Q) How can you tell the difference between a Linux programmer and a windows programmer?
A) Linux program names all start with "nogui"
Thanks for the link. Perhaps I can spice up my 'desktop' at work. That's the only place I plan on using Windows 9x anymore. :-)
Perhaps I suffer from a tad bit of multiple personality-identity disorder, but I actually rather like the way many Linux and *NIX apps look different. It's my belief that different jobs need different tools; and you don't ever see a crescent wrench and a screwdriver that look the same, do you?
:-)
Not to mention the fact that I would very quickly get bored with my X displays if they looked just like the standard MS UI. I got very sick of seeing the same gray, day after day, and all my tools and applications just became a blur. They all could do some of the same things the others could do, they were almost all bloated, and it just stripped the usefulness of even investing the time and effort to learn something new, because I had already done it before.
But then, I am also more inclined to want to learn how to use my tools properly than the ordinary random person. You won't catch me using a tire iron to carve a chair leg, just like you won't see me using a MicroSoft Word-style word processor to write HTML. You'll see me using proper carving tools in the former, and either vi or Emacs and possibly a perl script to check my work in the latter.
In other words, I believe that the tools I use in Linux have (for the most part) been designed from the ground up to be as efficient in both form and function as possible. I wouldn't change that for the world; efficiency is very valuable IMHO. More so than a "standardized UI".
Just my humble opinion.
C'mon! What you are saying is that users are essentially stupid and can't cope with variety. Hogwash! That's the same thing Microsoft claims, and it Just Ain't True.
Have you read Alvin Toffler's _The Third Wave_? Essentially, he claims the future holds what the past held-- we are becoming a self-service society. Only, we're doing it with the help of technology. Users are becoming *more* aware of their computer. Computers don't have to be simple-- users have to be intelligent.
I'm not saying we shouldn't have easy-to-use software. We should. But we shouldn't assume we're building this software for morons. And that is the failing in the Microsoft camp. They assume they are designing software for morons. That's part of the reason they assume they can foist buggy software off on the public-- after all, the bulk of users are idiots.
I say we welcome the Windows programmers just as we do everyone else. We will learn from them, and they will (hopefully) learn from us. And if our way is truly superior, everyone will win.
Microsoft is to software what Budweiser is to beer.
Sounds like you're getting a little defensive, Yoz. Cutting close to home?
And just because you code for Windows doesn't mean you know shit about UI design, either. I have seen more poorly-designed user interfaces to programs than good UIs. So what do you call those who can't program a decent engine *or* a decent UI?
Windows programmers.
Or Mac programmers.
Face it, there are just a lot of bad coders. Me included-- my code sucks. But I'm doing my best, and once in a while I put out something good. And it's easier to learn the principles of UI design then to unlearn years of bad coding practices (which the visual programming systems engender).
Microsoft is to software what Budweiser is to beer.
Umm... Customizability?
.... even without all that, the development model, the philosophy (whether practical or ideological) is *very* innovative. It certainly beats any single "innovation" in the PC world.
The idea that condescending to the user is "innovation" is ludicrous. And that is all the paper clip manages to do, besides suck up resources. "Agents" will be HAL-- a master agent that interfaces with the user without treating them as if they were stupid, which dispatches invisible agents to take care of the request. Agents will be proactive, helping the user-- not treating the user as if they are stupid and incompetent. That is not innovation; that's how Microsoft has been treating their customers for years. Now they just have an "agent" do it for them.
The sheer amount of control over my computer is innovative. Yes, I know most of the control is inherited from Unix (I'm a sysadmin/DBA/programmer at a Sun shop), but the absolute, complete control of the computer is simply astounding. That, coupled with CORBA on the desktop, is quite innovative. Especially since it works. (Yes, I'm aware of OpenDoc. So maybe this is just good implementation, but since there hasn't been a successful CORBA environment, I consider this quite innovative.)
But the greatest innovation is the development methodology. Even without E, the Gimp, Gtk+ and themes, Gnome and KDE, Samba,
(Innovation in the PC world? Visicalc, dBase, MacOS, Word Star/Word Perfect, and Mosaic. Hmmm... None of them are from Microsoft.)
Microsoft is to software what Budweiser is to beer.
Do you have a problem figuring out how to use the scroll bars?
No, it would be a great idea if scroll bars worked the same on every application. But the Athena Widgets work a little strangely compared to more-advanced widget sets like Motif or Qt or Gtk+. But since Xaw isn't used as much these days, it's not that big of a deal.
But if you are using this as a pro-Windows argument, it won't fly. Windows is inconsistent in its use of widgets. Perhaps it isn't as bad as the Athena widgets. I'll grant you that. But I only have two types of scroll bars (as nothing I use regularly uses the Athena widgets), and they both behave the same way.
And if you want your machine to be consistent throughout, use programs based on the same widget set. Don't mix Athena and Motif and Gtk+ and Qt apps, especially if your happiness depends on an homogenous computing experience.
- Tony
Microsoft is to software what Budweiser is to beer.
What crack are you smoking? Windows is based on an assembler core... From there... well.. I wouldn't be surprised, but saying that the OS could actually run on something so ... pitiful... It preposterous.. Even for windows.
/s
And we love our high speed - highly type safe language...
Delphi is of course written in Delphi...and a little bit of assembler for the RTL.
It does all of the things you mention...and one more.
IT ACTUALLY BLOODY WORKS!
...or so it would seem from some of these comments.
Oh goody. To be honest the amount of total trash that comes from Linux users and hack programmers is unreal. Only really rivalled by the amount that spews from VB/MS-SQL/Access people.
The opportunity to cheese you people off by writing quality apps for "your" platform as well as Windows really appeals.
Me goes back to being an evil Delphi programmer.
9 times out of 10 when I need a quick solution to a small problem, gawk comes to hand. It's one of the best pieces of the Unix toolkit. Do you know the difference between "$1" and "$0 ~ /^/"?
Although it's important to realise where you should stop using gawk and switch to perl. But this is far later than most people think.
I despair of the number of new people I see who write everything in Perl, when most of the time they could use a shell script just as effectively (I do like Perl, just in it's place).
The first time I used a Mac, I was positively *baffled*.
GUIs are easier for people who are used to GUIs. They are not inherently easier.
Even that VB book author (whose name escapes me) eventually decided VB was an abomination. There is hope yet!
Who needs wizards when you can just cp the source of a similar program, and hack away at it. That can be a feature or a bug, depending on who does it, but that's true of programming in general.
With or without wizards, the competant will find a way and the rest will become fly-by-night consultants. Nothing new there.
At a former job, I was told there HAD to be windows clients for our Unix database server. I did NOT want to write Windows code in any way shape or form.
Fortunatly, I came up with a macro-like metacompiler and a CGI so any web browser could be the windows interface, and I could just write macros for the unix software. I predict there will be more of that in future. HTML can't do everything, but in many cases, it's at least adequate and painless.
Think this person doesn't really know anything about UNIX/Linux?
That explains why Windows apps have a pretty UI and crash rates around 70% Now why is it that the two seem to go hand-in-hand?
perhaps you mean
this.
For more stuff, try
this.
****Gfx Scrollbar Special case hit!!*****
For example, MS Visual C++ has drag-and-drop text. It's a glitzy marketing checkbox feature, in practice is sucks, half the time you end up dragging text when you try to select it. That kind of feature really doesn't but much and it causes more harm than good.
I think that the mac has a simple design and simple interface. There is one mouse button (now everyone is going to start crying about mouse buttons...) a click needs to be the most commonly intended action and most mac programmers understand that. On Windows, you click on button and get a menu, you click the other and hopefully it does what you want it to, who knows though all the windows apps are different..
Then take button bars, until fairly recently, they were all the rage in windows apps. You fire up Word and you had 3 or 4 rows of buttons, probably 50 in all. It looks like the application can do a lot, you see all those buttons and think, 'damn, this thing has a lot of function..' fact of the matter is, most of them have menu entries and the menus are used more often because you can't figure out what the buttons do and you can't pick the right button very accurately any faster than using a menu. MS has realized this and the trend is away from the really complex button bars. Mac never had that, I can't think of a single app that had a UI feature simply because it was cool. As more sophisticated users of computers, we might be able to get some benefit out of those buttons, it's probably impossible to measure because it is so small, weigh that against the confusion it gives new users.
Mac apps typically have one or two routes to a problem's solution. If you want to spell check there is the hot key or the menu item. Windows apps often have many more routes, hot key, menu item, popup menu item, status bar listbox, button bar, maybe more. The programmers of the world think this flexability is great but it confuses users.
There are tons of other things, I could go on. I think the best thing to do would be to get your hands on a mac and do some work with some applications you've never used before and then try the same thing on windows. The mac doesn't have all the wiz-bang goodies and features windows might but its apps are amazing, and I've been a PC user and owner for 20 years. When you really look at it without bias, the mac is still probably 5 years ahead of windows if windows is even moving in the right direction.
This might sound silly..
There *ARE* statistics about programming language usage, and Visual Basic is *definitely* the most widely used language out there, with COBOL in second place and C++ in third.
Unfortunately, I can't point you to them because I don't remember where I've seen them (You might want to check professional magazines like IEEE Software or Communications of the ACM - they've spoken about this before I think)
VB is good for certain tasks, unfortunately its ease of use has caused "round peg in square hole" syndrome to pervade the industry.
-Stu
you've missed the point completely. the VB niche is 'short lifecycle GUI frontends to corporate databases' and it is very well suited this. i know you e1it3 l1Nu> h@x0r d00dz get a hardon from writing the most trivial apps in the most convoluted way, but that attitude cuts no ice in the real world.
The only WM I know that has monikers is AfterStep. If anyone knows of another one then please tell me because I consider that one feature to be enough to deside which WM to use, so I won't even consider a different one if it doesn't have monikers on the background menu.
Indeed, I even go as far as to write CGIs in gawk. Something to which it is very suited but few seem to try, they just opt for a big, slow, and ugly perl script.
If you know the language well you don't need to start (many) other processes like most people seem to think.
Gawk starts and runs faster than perl5 for most programs (that are suitable for it). In fact I only go to perl when I need to use sockets.
When you get to using sockets, you give up on perl after about 5 minutes and go use C like you should have in the first place.
Linux already has several excellent RAD languages such as Python, Ruby, Tcl/Tk, and several Smalltalk environments.
I'm using pygtk right now and development is very fast. I don't use a GUI builder, but I don't like fiddling with them anyway and find it easy to go from a design on paper directly to code because of the simplicity of the language and toolkit.
The early *BSD systems didn't even recognize the standard DOS partition scheme. Linux, on the other hand, quickly supported the FAT filesystem and worked on DOSEMU, and with UMSDOS, you could even run Linux off of a MS-DOS filesystem! The *BSD developers were, in a large part, old-time UNIX gurus who were more comfortable with a VAX or a Sun workstation than a PC. Linux users came from the Minix/MS-DOS/Windows crowd and were sneered at as not known how a "true Unix" should work. This additude still exists among many *BSD people.
I'm an old-time Unix user, but I don't fear an influx of Windows programmers, any more than I feared the "hords of unwashed masses" that have "invaded" the Internet over the last 15 years that I have been on it. Yes, the Internet has changes much because of them, and in many ways for the worse, but if there were still only a few million people on the entire Internet, there would be no Linux, no WWW, no
SPF support for most open source mail servers can be found at libspf2.
asinus sum et eo superbio
asinus sum et eo superbio
in omnibus veritas
There are windows programmrs and then there are REAL windows programers. Let's really consider what a who a *programmer* before we start going off on how horrible windows programmers are.
Just because you know VB or enough C/C++ to write a notepad clone (as someone else mentioned) does not make you a windows programmer, please that's an insult to anyone who REALLY knows how to spit out code.
I'm a windows programmer.. and no I don't use VB, I write drivers and custom applications to run the production line hardware in my company's factories. Most of the stuff I write is low level C/C++ with some assembler thrown in for good measure. In my experiance I wouldn't call anyone who hasn't dug through with the crap lowlevel windows API or driver model to be a REAL windows programer.
My personal opinion is that windows programers for the most part will be good for Linux, the good ones will be added man power.. and the *hobbyists* won't hurt it any.. who cares if there are 50 notepad clones for linux? And besides the core linux developers are not going to let Joe hobby programmer screw with the kernel anyways.
-Ex-Nt-User
Most people who have spent all their time in the Windows world have never seen a good GUI...
"Be nice, veer left, and never stop thinking" Iain Banks - Walking On Glass
I think the Macintosh has a lot more tools for GUI design, and better tools, than Linux does. The Mac has had pretty much the same GUI for 15 years - that's a lot of time to build a lot of tools. Linux has the "GUI du jour" policy where as soon as you write an app for a GUI, a better one comes along. It changes so rapidly, that GUI tool developers can't capitalize on previous work - they have to start over from scratch every time.
--
Timur "too sexy for my code" Tabi, timur@tabi.org, http://www.tabi.org
FYI, the vast majority of applications written are in-house hacks done by consultants and what-have-you. Commercial-grade end-user software (the kind on your Win98 box) is almost always written in C++, but if you count by number of programmers, VB wins hands down.
You have three alternatives: MacOS, BeOS and OS/2. MacOS has got one of the cleanest interfaces available today, and it's actually really cute. Even a drunk person can use a Mac. BeOS is more technically advanced than most other operating systems available today, but is still really easy to use and configure. Lastly, OS/2 has got two points that make it shine: WPS and Java. For all of you who haven't seen the WPS, it's an object oriented user interface with enormous capabilites which makes it really easy to create a desktop you really like and want to work with. The Java engine in OS/2 is the fastest one on the x86 platform today, and it's getting better.
If you combined all of these three operating systems you would get a tremendous thing. Add the technically advanced and stable Linux (or FreeBSD) kernel, and you're in for a killer.
War is one of the most horrible things a human can be exposed to. And one of the worlds largest industries.
BE & OS 2 huh? Both suck. If Mac OS X doesn't suck yet, it soon will.
Actually, all OS suck. The point is that some of the ones out there suck less than others. You just can't say "all other than Linux sucks" without trying them first. However, NT sucks like a blonde girl charging money for sexual activities, but without the good parts about it. In other words, a rip-off.
Write more linux apps please!
I do use Linux, even if it's not on a daily basis and not for doing native apps. The basic usage of Linux for me is to create Unix shell scripts for people who just want to type 'run' to start the apps.
War is one of the most horrible things a human can be exposed to. And one of the worlds largest industries.
What exactly do you think the halt/reboot/shutdown commands do?
What exactly do you think Start -> Shutdown do?
War is one of the most horrible things a human can be exposed to. And one of the worlds largest industries.
In general, Macintosh programmers have a better sense of what user interfaces should be like or not.
Windows programmers don't have the same strict development guidelines.
Mac guys--where are you?
http://eugeneciurana.com | http://ciurana.eu
I have a few comments ... first, programmers is programmers (deep words from a PhD). If there are more people out there writing Linux apps as a result of migration from windows, so be it ... that rocks! It's all about world domination, and the Penguin is on his way.
... why is there so much compaining about the user interface? I'm using the latest version of Afterstep and it is the coolest friggin' thing on the planet. I don't need folders cluttering up my desktop. The interface is the computer, and Afterstep is awesome!!!!
... it rocks, and so does WordPerfect 8. I don't care if Microsoft Apps get ported, because I have these.
My second peeve is
Finally, for those people bagging on StarOffice
Now, has anyone compiled a decent browser yet for Alpha? Can I get my Multia out of the closet yet?
Kvetchingly, D.
Share data. Share code. Share ideas. Share the wealth.
http://stockfilter.org
What exactly do you think the halt/reboot/shutdown commands do?
Horses for courses.
Yes, large systems are difficult to write - whatever the language. But not all systems are large systems. And for small, fast, throwaway projects, VB is not that bad. It also makes a good prototyping tool - as, I'm sure, do lots of other tools.
I agree on the problems of the RAD concept though - to a degree. Sometimes quick and dirty is the right approach; sometimes careful design is. It depends on the application and the requirements.
no taxation without representation!
The windows application has only one noticeable advantage and that is out of the box graphical use without a technical manual. Linux users/programmers KNOW this. This isn't some magical wisdom that only windows users own, its common knowledge and its being addressed. And its not like Linux software programmers write software to be overtly complicated, they (for the most part) are from the same school of GUI appearance as Windows and, to a lesser extent, MacOS applications.
When large companies start to develop for Linux, they will make an impact, however that will mostly be due to a larger concentration on certain projects not a discovery of new problems.
--- Linux... a college project gone horribly right
Hint: not C. (not most of it anyway)
"Reactionaries must be deprived of the right to voice their opinions; only the people have that right." - Mao
Look at how many programs there are out there that are precompiled for Redhat (and compatible) only.
Caldera's Netware of Linux and Origin's Linux UO client, spring immediately to mind.
When linux becomes popular, most programmers won't give a damn about releasing source or other distributions. It's getting harder and harder for me with my Debian system.
"Reactionaries must be deprived of the right to voice their opinions; only the people have that right." - Mao
It's still new, granted, but it can do things I've never seen another OS do.
Multithreading for *everything* like the BeOS would be a keen feature for Linux 2.4.0
"Reactionaries must be deprived of the right to voice their opinions; only the people have that right." - Mao
And I agree with the position that VB programmers are generally less intelligent than others. Such a choice could only be based on ignorance.
Where I work, VB programming is the next career move for folks tired of desktop support. That or Lotus Notes development.
"Reactionaries must be deprived of the right to voice their opinions; only the people have that right." - Mao
This is the greatest danger Linux faces! Not Microsoft's halloween plans or being forced out of the market but being subverted.
No, windows programmers aren't at fault. Linux is powerful and flexible partially BECAUSE it is difficult to use.
Consider mathematics or any other technical discipline. They all have their own internal definitions and methods not to confuse the populance as some people seem to suggest but because the slight difficulty in using these methods is more than made up for in future ease of use.
What happens in the future when we need to upgrade glibc again? Will the windows users recompile all there software against the new library? Will redhat ship the new library if it causes some incompatibility problems?
I for oneam in favor of usability ONLY if it is aditional/optional. Keep text config files but if you must add a configurator
Marriage is the "pseudo-ethics" that cloaks the messy truth of sexuality in the raiment of propriety -- it's "Don't Ask,
I for one, feel that WINE is a mistake. More of a waste of time really. WINE is not relavant.
If you cut open a windoze hacker and a un*x hacker, would there internals appear to be any different? No.
It is not the programmers that gives windoze its "use-ability." The MFC makes it easy for windoze programmers to include all those "use-ability" features in their applications. M$ programming tools include wizards that make it easy to pop up some decent looking GUI interface in minutes. The problem with many windoze apps is that the underlying logic and operation of the program too often fails to live up to the high expectations that the GUI helps to engender.
In contrast, un*x hackers more often focus on getting the basic functionality implemented correctly. Often there is only a simple command line interface. There is a far greater probablity that if a un*x programmer takes the time to implement a GUI version of an application, that the underlying logic and functionality is already stable and debugged.
There is a great deal of influence imposed by each different development environment on the look and feel and functionality of applications.
M$ -> Easy to generate some kind of spiffy GUI. Sometimes impossible for highest gurus to circumcode buggy os calls.
GNU-Linux -> Rock solid system implementation, but lacks the wizards that allows anyone who can click on "OK" to generate a GUI based application.
This too shall pass...
Sorry if I seem a bit skeptical :-) I think we've already seen quite a bit of Windows programmers campaigning to get the kernel changed so their poor programming techniques will work. And we'll see more of it in the future. As for a focus on usability, well, I think we're more likely to get that from the Mac programmers! They may have a disturbing lust for one-button mice, but I think their hearts are in the right place. We must have a different version of Windows 95 here in England, because I've never experienced this "easy to use Windows" that people keep talking about.
fish and pipes
I assume you're not talking about Motif here :-)
fish and pipes
Stuff written into files, or over a network are the biggest problems in that area. The second biggest is doing unaligned memory accesses (the x86 by default allows 16 and 32 bit operations on any byte boundry, the OS can disable that; RISC CPUs almost never allow unaligned memory accesses, except via "special" slower instructions (like the MIPS loadlo/loadhi, and the SPARC V9 ASI goo)). The alignment issue effects structure padding, so you can't read/write structs from/to files and then just swap bytes around, padding may also be wrong. There are also issues with pointer vs. int size, does a char* fit in an int? Not allways.
In general the idea is that programers who have only used a system that works one way may think that all systems work that way (once known as the "All the world's a VAX" syndrome). More to the point programs only tested on one type of system even if written by programmers who know better can devlope this type of problem. I know, I have written programs on a SPARC, and discovered when porting to an x86 that I forgot to convert from "newtwork" to "host" byte orders in a few places (and I'm talking about less then 5% of the places). Specifically the fear is that the existing "hordes of windows programmers" have only used windows, and to the extent that Linux on the Intel behaves like a Wintel system, they won't learn to do the more portable thing. I expect we will see many programs with binary data files that work on "Lintel" systems, but fail on Linux/SPARC. I also expect a higher percentage of current "Linux" programs can be compiled on non-Linux Unix-ish systems then programs written by folks whos only exposure to a Unix-ish system is Linux. That's not all bad, they won't fear using revoke(2) just because it isn't in Solaris. They won't avoid pthreads(3) merely because SunOS doesn't have it.
As for the bit shifts, bits 0..31 are consecutive on almost every machine I have used, and on all RISC machines I know of. Also to implment the C standard bit shifts need to work to produce the same results as multiplication or division by powers of two (with possable diffrences in signs), so the shifting you are talking about should be safe.
Not when i can help it. I have been spoiled for some years now by ANSI prototypes. Of corse if you read the Lion's Commentary on V7 (V6?) Unix you'll see K&R did do it quite a bit!
As i said I tipically only get bit by endeness problems, and rarely by alignment issues. That's why i like to test my code with a Sun and PC client (or peers).
I think Sun's XView (RIP) required it.
Are you using strange Australian-rules Perl or something? If Perl were compiled you would not be able to use commands like eval() or anything else that required runtime interpretation of commands. To be sure, Perl commands are compiled and you can write all sorts of fancy extensions and stuff. However, the Perl language itself is most definitely interpreted.
Governments paying for free software? Er, yeah, there's been talk of a couple of small schemes, but why the hell should the govt. WANT to fund free software? Some of the biggest US companies are software companies, and they pay a load of taxes.
And as for free software usability, that usually comes with good testing, something that you need money to do properly. It's a major problem that we've discussed here before.
... it's a basic rule of UI. If all your programs look different and use different UI rules it's totally confusing to most users. The fact that Windows (and most other GUI-driven OSes) tries to stick to a single UI language is a major point in its favour.
Could someone tell me what major UI features the Mac has had over Windows since Win95? MacOS still doesn't even have proportional scrollbars, for god's sake. And the way people talk here, you'd think MS didn't spend millions on R&D and usability testing.
COM's in Mozilla. Netscape liked it so much they did their own version, called XPCOM.
Hey, do you actually know *anything* about COM? Any proper arguments as to why you think it's garbage? Thought not.
Dr. Watson running under GNOME.
--
We need more people like Windows programmers, like those in the Gnome and KDE camps - people who actively try to program to a userbase of new computer users rather than geeks like themselves. We need people who program to the best traditions of Windows.
/usr and /var, share and local, $HOME and /etc, and program with those concepts in mind. Use getopt_long() (including --help/-?/-h), write a useful man page; use $EDITOR/stdin/stdout if applicable; even let users use regexps, shell, or perl commands if they would work with your app. The last thing we need is another grotesque internal pseudo window manager like StarOffice's, or a multiuser-blind app.
What we don't need, however, is people who program to the worst traditions of Windows. Before you switch to Unix coding, learn the differences between (and the rational behind)
I mean that [MS Windows] is so easy to operate that you don't need to pick up a book to configure it...
Maybe you don't need to pick up a book to configure Win9x/NT, but there are plenty of books out there on how to do so, and their authors aren't exactly starving.
Do you have a
Wine, it seems to me, is a clear statement that Linux users want or need the programs those Windows programmers have written.
... or a clear statment that Linux users want or need to be able to say that Linux supports everything that Windows does in order to convince Windows-obsessed users that Linux is worth using.
I'm actually not too sure why I'm taking part in this argument, as I'm a NetBSD, Solaris, NeXTStep, and macos (rhymes with Bacos!) user. Oh well.
Do you have a
Mac guys--where are you?
Thinking of writing serial qcam support for PPC-based Linux, so I don't have to ditch my webcam when in (Mk)Linux(PPC).
...and maybe using NetBSD instead, but hey, OSS is OSS.
Do you have a
Speaking of cut'n'paste, though, it'd be nice if X was more consistent in this area.
What's inconsistent about X?
Highlight the text you want, click the second button where you want it to go. You don't need any silly keystrokes, much less combinations. (Not that I'm against keyboard control, but if you're going to highlight with the mouse anyway...*)
Only exception that springs to mind is netscape, but you should be using lynx anyway.
Well, I guess I'm assuming you aren't using some weirdo window manager that tries to act like another operating system, but twm should be enough for anyone.
* I'll grant that I don't always highlight with a mouse, especially on macs, where shift-right/left highlights a letter, option-shift-right/left highlights a word, and shift-up/down highlight lines, but still...
Do you have a
A common reply to the comment that Windows is easy to use is that "Easy is whatever you are used to." This comment generally means that Windows is only easy because people are used to it. If they got used to something else that would be easy to use. But, this saying applies directly to all GUI applications on any platform. GUI apps should have similarities in order that users can carry skill sacross between applications. These similarities don't have to be monolithically enforced, but they should be codified in a style guide so developers have an idea of what users expect. The application writer can then follow the style guide as best he/she can, but when efficiency or ease of use requires a different style the writer doesn't have to be contricted bythe style guide.
What will happen is that the applicatiosn that people can get started on easily because the GUIs have similarities will be successful. The ones that arbitrarily diverge form the style guide will fail or be niche products because the learning curve is too high.
A style guide is a generalization. Details are left up to the developer. A current defacto guideline that would belong in a style guide is what basic menus to use such as File, Edit, View, Help, and guidelines for what belongs in those menus. This way the user knows in general what to expect in those menus because he/she sees the same things in every application. Simple and not terribly restricted, yet it makes learning curves shallower, and makes thigns "easy to use".
I would really love to get ports of programs
like Pegasus Mail. Based on standards, efficient
extremally flexible. I use pine since few years, but still not all of pmail's features are there.
Another thing is solving stupid problems with fonts, preconfigured Mozilla configuration with plug-ins etc. Every such configuration step is easy to make, but if you need to make 50 of them
to get usable system it becomes annoying.
Finally, after reading the entire thread, I find someone who says what I was thinking. Do not apologize for your comment. You, unlike most of the previous posters, have the right idea. The idea pehind OSS is that every developer has something to offer. We should be inviting the Windows developers to join our cause.
Not one of the posters here nor any other developer has been a UNIX master from his/her first line of code. Let's give it a rest and get back to coding.
Imagination is more important than knowledge. --Albert Einstein
I've seen "does one thing, and does it well" programs in Linux. I also get the feeling that Unix programers tend to build do everything programs - first example Emacs. If a program doesn't have a scripting language flexible enough to write a web browser in, what is it worth?
Some times I wish Unix programers would add features instead of scripting machines with more theoretical power, but that are much harder to use.
Vi includes support to run Python or Perl as scripts. Gnumeric uses Guile. Gimp uses ... Scheme I think.
You mis-understand. I don't want a scripting language to write a script to do what I want, I want to be able to go to a menu and select what I want done. If I'm writting something in Emacs and I want wordcounts or Fog indexs, I could write a script, but it would be much easier for me just to go to an index.
Vi includes support to run Python or Perl as scripts. Gnumeric uses Guile. Gimp uses ... Scheme I think.
*At first you seemed to be complaining that Unix programmers "tend to build do everything programs", now you want more features...*
You misunderstand. I don't want a scripting language to write a script to do what I want, I want to be able to go to a menu and select what I want done. If I'm writting something in Emacs and I want wordcounts or Fog indexs, I could write a script, but it would be much easier for me just to go to a menu item.
As long as they don't I'll be happy; but I just know we'll start seeing x based setups (Star Office) that are a bitch to install over a network (instead of RPMs or Deb's), violations of the file system standard (haven't seen this yet, but I know it will happen - windows guys love to install of the root) etc.
support gun control: take guns from cops
That being said, what I think this question really addresses is the need for solid, consistent APIs and widget sets. My impression so far is that toolsets like Qt, GTK, Java, etc. are getting better and more easy to use. That, to me, is one key factor in making Linux more usable: Solid GUI toolset foundations.
Another aspect that needs to be considered is programming discipline. While the Windows APIs and toolsets have made rapid application development more possible, they also have made programmers more susceptible to being lazy and less concerned about feature bloat, etc. I only hope that people who do program more extensively than I do will take the time to be (a) consistent in their coding practices and (b) respectful of cross-platform issues. If the available toolsets are not misused, then Linux will become more usable (interface-wise) without much effort.
--Rick
*nix supremecists should check their attitudes at the door. i've been working in linux since '94 (*nix since '87) and have seen no evidence of a superior breed of programmers. i'd wager that the ratio of good to bad is about equal across the board.
As long as they don't demand (or develop) some lame-ass IDE or a whacking great collection of useless Foundation Classes, I think pulling in some Windoze programmers could be good.
It could also be a beneficial experience for them, as well. "Wait a minute. These APIs actually work! And they make sense! You mean it could have been as easy and as stress-free as this all along?"
Schwab
Editor, A1-AAA AmeriCaptions
There is already too much people who claims to
/dev/dsp directly, assuming that they
be Linux programmers, but just try to turn
Linux into just a bit more stable Windows or DOS.
I see questions "How I bypass system and access
video directly" every day in comp.os.linux.development.apps.
So goes for KDE which not yet have builtin scripting language and ties programmer to ONE
language, which some people thinks better in
the world, but many other (including myself)
think as good only for limited niche, and this
niche doesn't include GUI. GUI is to be written
on Tcl/Tk, Python, Guile, but not C/C++, as well
as computation routines are not to be written
on bash.
I don't even mention numerous incompatible programs which fail to compile even on BSDI,
not mention Sparc (either Linux or Solaris)
Let alone character-graphic toolkits, which don't
work even on good telnet clients, not mention
hardware vt220, or audio programs which try to
access
have user on the same machine as they run, instead
of looking to DISPLAY variable and using netaudio.
These windows programmers do not understand five
things
1. There can be another CPU aside Intel
2. There can be other users on machine aside
one running their program
3. Nothing requires user run program on the
machine he is sitting at,
4. forking is simplier and more errorproof than
multithreading.
5. There is UNIX toolbox phylosophy and they
are expected to give users ability to combine
their program with other ones, user is already
familiar with.
Well, I'm sure some Linux users want or need Windows apps.
But I don't. Generalisations like yours are always wrong.
It's impossible to say what all Linux users want, because we don't all want the same thing.
Having said that, no-one will be forced to use these hypothetical apps developed by this hypothetical horde of Windows programmers, so, sure, let them go ahead and code. It's no big deal.
Someone else made the point that whether there is a whole lot to be learned from the Windows world about GUI design is questionable, and that is true. Perhaps what we need for Linux is a whole re-examination of the human/computer interface, rather than copying old designs.
Here's a good article on this:
The Anti-Mac Interface
Did it ever occur to you what might happen when a
Windows programmer starts poking around on linux?
I will tell you. I know since I am a Windows
programmer learning linux.
I am in awe of such a clear, clean and well
designed system. The openness of the system
is refreshing. After having spent many hours
trying to reverse engineer binary files and snoop
around APIs I needed but were poorly or
incorrectly documented it is wonderful to be able
to dig though the source code and see what is
really going on. The more I learn, the more
frustrated I get with MS and any proprietary
operating system or software.
You don't realize how bad you have it until
you see how nice the other folks live!
Now, some caveats to the above statements; I
do have a BS in Computer Science and I
program in C++ not VB (No, not with MFC), so
I'm sorry I don't fit into your
prejudiced little box.
Yes, there are poor Windows programmers. Yes,
alot of them use VB and have no idea how an
operating system works. That frustrates me to no
end that they call themselves programmers. My
point is not to lump us all into one bucket and
end up alienating people that could really help.
As I recall, the Mac OS is what makes Macs slow... unless some miracle has occured recently that I am not aware of, or if the "programmers" that write the OS ditched all of their previous work and started from scratch, I imagine that it would be a joke to try to compare the effeciency of the MacOs with any *NIX...
While I agree with many of your points...
Menus in a consistent location.
This one is kind of irrelevant. What GUI has menus in inconsistent locations?!
It's really just a matter of familiarity, rather than one choice being better than others. The first GUI I used had no menus visible on the screen at all - everything was pop-up context menus. Consistent location, in this case, was at the pointer.
I miss Meept.
I highly doubt many Windows programmers start out on Linux by producing entire reams of code in isolation. They'll start out like the rest of us. A small contribution here and there, maybe pick a project they like and start making some serious contributions. These projects have owners or core teams and bad code isn't going to slip by for very long.
Anyway, I'd love to see some stats on how much OSS code is produced on employers time vs. personal time. My bet is its mostly personal time and most bad programmers aren't going to contribute for no money on their own time. It just doesn't happen.
If the improvement of Linux is its death it is dead already. We have to set our sights a little higher than replicating commercial Unix functionality. Take those config files - now text config files have many plus points, but their adhoc (and often bizarre) formats do not. Config file parsing takes valuable programmer time and effort, and it is very hard to, for instance, create usable GUIs for 1000 different config file formats.
Regrettably, many of the things some Linux users are convinced are garbage, have their benefits.
COM, for instance, is lighter than any existing stable CORBA implementation at the expense of a little language dependency.
Config files in standard formats, are another bugbear.
The real crux of the matter is: Will a large influx of Win32 programmers direct the future of Linux/OSS or will Linux/OSS put these programmers to good use? We're making the tools (social/code) right now that will decide.
USA-Democracy is 270 million YESes and NOes a day, not one every four years.
As to the orignal thread of this discussion, I believe this is a good example of what Mac/NextStep/Be can add to a UI movement. That being you can smack someone down infront of a Win32 style GUI, look at what works. Change the GUI to a Mac style, take some more notes. And so forth to find out what really works. No bitching about processors or sub-systems or OS services since they are the same.
As a side note, and I know this is completely out of order and slightly ethically wrong but:
Is it not ironic that your present project is working on www.douglasadams.com , when Douglas Adams has been a long time advocate for the Macintosh platform and written several pieces berating the Win32. I'll assume you have and therefore there's the irony.
USA-Democracy is 270 million YESes and NOes a day, not one every four years.
As the topic suggests, they're coming from a different mindset - one of closed source. I just hope that whatever improvements they'll allegedly bring to Linux and it's brethren (read: *BSD), they'll pick up on the GNU/GPL culture and run with it rather than fight it by releasing software for the platform and coming up with brain-dead licensing schemes to prevent the software from advancing as it does now on Free/Open Source platforms.
It's fashonable in Linux circles to express contempt for all things Microsoftian. But this is a mistake; we can learn a lot from looking at what works on the Microsoft and Mac platforms, while leaving behind what does not work.
Many people who have spent all their time in the Unix world have never seen a good GUI. A good GUI is one that enables an expert in an application area to be highly productive. One reason why users are highly productive is that the applications they need to use work consistently. In that sense, X's configurability has worked against us ... it makes it too easy for every app to work differently. In many Unix/Linux shops, no one can sit down at his neighbor's desktop and help with a problem, because everyone has a different window manager and has rebound all the keys to work differently.
Too many people on Slashdot say "I don't like it because it looks like Windows". What you are saying is that you would rather be different for the sake of being different, and you don't care that this will make life harder for new users.
Windows made lots of botches that should not be copied, e.g. to shut down your computer you first press a button named "Start".
One thing Microsoft spends a lot of money on is human-factors research. What is easiest for people to use? Coming up with a theme per day is fine and dandy, but it would be nicer to conduct studies on what works the best for different types of users.
Honestly, though, the people who write perl and tcl/tk code in linux are the ones who would be writing VB if they used Windows.
Honestly, the most programera of perl are very experiences C-programers that have found a faster way of developing small utlilites. Perl is one of the most fexible lanugaes around. When it cames to tcl/tk I have also used it a couple of times, as rapid development has been needed. I don't think any of this languages has anything in common with VB. (That I have used one, to help a friend, not a fun experience)
As for tcl/tk I have only one word Exmh, a mail system in a class for it self. I have not seen any better more flexible mail system. But that there are "VB" programera in Un*x too, I just don't think they use perl, or tcl/tk. I guess a loot of them use Java, and the rest are using C++.
You can do pretty much any kind of unix command line shell stuff (among many other things) with Interix (http://www.interix.com) or CYGWIN32 (http://www.cygnus.com).
MS C++ does not conform to ANSI stadards. and the Unix/Linux GNAT compiler has both ANSI and ISO ratings. in Fact Ada is the ONLY OO language to have both ISO and ANSI standard marks.
Nothing about M$ platforms is standard.Not even the TCP/IP stack....jees get a life.
Nick
LSG
Not all windows programmers work for Big Bill. I hear a lot of moaning and bitching from the die hard Gnazis out there over this idea, but there *is* good software for windows (even open source software, like LiteStep, POV-ray, Fractint, ports of Emacs and The Gimp, etc). If the Linux movement can capture some of them, it will be a Good Thing(tm). This could combine the open standards and stability of Linux with the huge number of applications and user base of Windows. Now if only a few good UI designers would defect from Apple...
0 1 - just my two bits
An enormous amount of good software is available on windows. Examples include sequencer software (Cakewalk), DTP software (pagemaker, quark express), high end graphics software (lightwave, softimage) , games (too many to name ... ) , educational software (nonexistent on linux), etc. I certainly wouldn't mind if more of this became available for linux (and I aren't complaining about the recent WP port and games ports ... )
-- Elflord
You missed one thing, the guy wasn't talking about how well the programs ran, he was talking more about how much easier it is for the mainstream user to install and run many Microsoft porducts than it is for them to do so with Linux. Besides, not all Microsoft programmers are idiots. They know very well the limitations of Win NT,95,98.
i remember thinking i was cool when i wrote those windows programs using devstudio and its helpful wizards.
soon after, i found myself developing x-based apps. i never understood my windows programs (even while i was writing them) as well as i did after writing x-based code. that is, it became very clear that windows was struggling to do what x had been designed to do from the start.
those helpful wizards were just leading me blindly past all of the ugly hacks in the windows api, sparing me headaches and, unfortunately, understanding.
now i find myself back doing windows programming , daydreaming of those x libraries that set me free.This has already started to happen. I have seen a number of postings from some Windows programmers getting involved in various KDE projects. They like to development environment, the tool kit, etc.
I have no axe to grind here, so I welcome this move.
Macka
By far the most interesting thing I saw in the article is the explicit notion that DESIGN is paralellizable. And it makes sense. And there again, closed source has to compete with the worlds best ideas. Not because they won't cherry pick (MS is good at it ...) but because they will be chilled by marketing strategy and NIH syndrome.
Um,
the word to associate with that is superlative.
Delphi is one of those killer apps, ain't nothing wrong with it.
----------
"They misunderestimated me." --George W Bush, Nov. 6, 2000
bravo, outstanding.
----------
"They misunderestimated me." --George W Bush, Nov. 6, 2000
Now, you've got a bunch of nerds and suckers who brought you dancing paperclips.
They've got to justify their jobs, don't they? Well, well, look at that. A new OS taking up popularity, without any "good" (à la Microsoft, that is) applications.
Well... I guess that they could start by porting Orifice to Linux, no?
-- ----------------------------------------------
Vive le logiciel... Libre!!!
You, on the other hand, make it sound like it is
an extremely important thing (the GUI). The Linux (and UNIX) emphasis is always to make the app
powerful and flexible rather than cute and cuddly.
And perchance if you are going to say that the UNIX apps are too difficult to use and unwieldly, I disagree. I, like most Linux users who have used it for over a year or two, find it much more logical and straightforward than most of the Windows stuff.
"The only *intuitive* interface is the nipple. After that, it's all learned."
Judging by the comments here in this forum, I would never have guessed so many people in the Linux community did not support Open Source Software. That is so much more scary than any influx of Windows programmers. I think any programer should be welcomed to the Linux community. If someone thinks they can develop an interface that satisfies many people, why shouldn't they try? Who cares where the heritage comes from?
What matters in the end is robust and usefull software. You pick what YOU want. If you have some senseless aversion to anything connected to Windows go use software developed by some die hard UNIX guru. But, with OSS, you have that choice.
Better yet, why not work with the new migrated-from-Windows (MFW?) programmer and help him learn the philosophy of UNIX and why things are the way they are (30 years is many years of experimenting).
Linux is about CHOICE. Who cares where the choices come from? Welcome any programmer who wishes to join!
~afniv
"Man könnte froh sein, wenn die Luft so rein wäre wie das Bier"
"We could be happy if the air was as pure as the beer"
~afniv
"Man könnte froh sein, wenn die Luft so rein wäre wie das Bier"
Richard von Weizs
And yet the local community college's programming sequence requires you to either take a course on BASIC or to pass a test proving that you know how to lrogram in BASIC before you're allowed to take a class in C or Java.
Unfortunately, I don't think this is that unusual.
CUR ALLOC 20195.....5804M
Personally, I really, really, *really* think Windows sucks! Their API? Yes please, I'll have a few million dll files..... (shudder)
Why do I say this? 'Cause I have programmed in Windows & dos. However, I've also programmed the Amiga (way before dos), Apple *, and a bunch of other systems, so I definitely wouldn't consider myself a 'Windows Programmer'. I've participated in some of the M$DN stuff and it amazes me how much *crap* they give you. Umpteen useless cd's. I remember reading that a minimum install of vc++ 5.0 was like 300megs and the complete install was over a gig! What a waste!
Unix, I think, is the ultimate. Fast, small, multiuser from the get go. It *is* the Internet os. The development community is awesome. I'd never go back to my main workstation being anything other than *nix and every time I drop one more M$ machine off our network it's time to go celebrate at the local pub. Seriously!
I think if Win people wanna program for Linux/Unix, fine. But read all the books and manuals that everyone else has and live, breathe, eat, and sleep your *nix box, cause we all have.
It'll be much nicer to you in return than anything M$ could come up with.
I love it!
99% of the so called windows programmers are just drag and drop k1dd13z. They do not know how to program, they know how to "draw" with a toolbox. ;-)
The remaining 1% ain't working on any Linux
So this is big fuss for nothing...
Baker's Law: Misery no longer loves company. Nowadays it insists on it
http://www.sigsegv.cx/
>Commercial software development is writing
>software that will be sold. Noncommercial
>software development is writing software that
>will be used.
This is an excellent point that is lost on many programmers, sysadmins and managers. Although I would add a caveat that some commercial software happens to also be useful, but this is the exception rather than the rule.
I agree that VB can get nasty, but the truth of that matter is that Linux need a RAD-Level language. I've played with tcl/tk, which could be a good start, but it would need a better IDE.
The truth is that BASIC will never die - just due to it's ease of use. I'm using the VBVM on linux right now - and it is very impressive so far.
Don't like how VB works? Fine. Write a better one for Linux. I'll use it in a heart-beat - and so will all those VB windows programmers. Make it use CORBA instead of DCOM. Base it on open standards. JavaBeans don't cut it for me yet.
If you don't write it, I might just do it myself. Alternatively, show me something just as easy to write in on Linux, but I doubt you can.
One word VB :(
Hey, maybe you should go back and read the original article. It's not talking about "Microsoft releasing their own version of Linux," it's talking about programmers for individual Windows-compatible product companies learning Linux in order that their companies might jump on the bandwagon in porting their own products over.
These programmers, the idea goes, will discover for themselves the allure of Open Source (remember how old V.V. called the feeling addictive in the Halloween docs?) and, coming from a different background than the current Linux hackers, set out to do different things in their spare time, to address useability issues Linux hackers don't notice or care about (let's face it, whether you like it or not, Windows is more user-friendly than Linux) , and end up adding things to Linux that aren't there yet.
Certainly nobody's going to force you to adopt anything they add, any more than the KDE Police are going to come to your house and make you put their desktop environment on your machine if you don't want to. But I think that whatever they add could help make Linux a more viable desktop alternative for Joe Average Windows User...which is all to the good, right?
Editor Emeritus and Senior Writer, TeleRead.org
Lest we forget, Mikey$oft is not a monolithic entity. There are good, mediocre, and bad apples in every bunch, and I have it on good authority that there are some really cool, intelligent, and clever people working there, doing some really fantastic things. It's just that they're not the ones in charge.
By the same token, you shouldn't assume that Windows programmers are just a bunch of no-talent hacks who couldn't write decent code to save their lives just because Windows the OS sucks eggs. It's not their fault--they do the best they can with the tools they are given. Now, imagine if these people were exposed to decent tools...
Editor Emeritus and Senior Writer, TeleRead.org
well if they can program...why stop them.. The linux comunity needs more apps. And I would love to see a cooledit pro/Soundforge clone for Linux. These 2 programs are the only reason why I still have winblows on one of my machines!
NaTaS
http://natas.startx.org
Natas of
-=Pedophagia=-
http://www.mp3.com/pedophagia
Also Admin of
http://loki.linuxgames.com
I'm not a VB programmer so I don't know what you're looking for, but try Python. It's easier to code than tcl/tk, it uses CORBA, it's got Gnome bindings, it interfaces cleanly with C and C++, it has an IDE (the IDE's only at version 0.2, though), and it's cross-platform. (Oh, and it will speak COM if you really need it to.)
-- Some things are to be believed, though not susceptible to rational proof.
I think that a big development from the influx of Windows programmers
could be the end of X. This ugly monster with features that are not needed
for a desktop OS (all networking code) and features that are outright
missing (GOOD FONTS!!!) or done wrong (COLOR MANAGEMENT) will
die sooner rather than later, due to Windows programmers.
I hope that Windows people will make a desktop distro out of LInux,
with all (most) networking code thrown out, with PPP done right
and an integrated Desktop, whether they choose Gnome or KDE I don't
care so long as it's polished and appealing.
If corporations start massive Linux projects, people like IBM, Borland and
Symantec will step in with good GUIs for reasonably powerful IDEs
and then indeed there'll be a flood of people coding for Linux. The whole
point is to be able to program WITHOUT learning the APIs, exclusively
thru point and click.
For example if I want background color to change when I push a button,
then the GUI IDE should provide me with visual representation of
both background and button object, analyze possible behaviors,
present me with a drop-down list and allow to select the behavior
that I want. Visual Age comes closest to this vision, btw.
You mean:
dir *.mp3 > log.htm
It works on my PC. I had to reboot to windows just to check...
>>Networking in X is cool.
Perhaps, but I don't need it. At the very least X must provide a way to
completely eliminate networking components on demand, including removal
of networking libraries from hard disk. Every bit that has to do with
networking should be removable and I personally want a distro w/o what to
me is a bloat (i.e. by default w/o bloat).
>>As for ugly...
I was refering to concept not look. I agree, E/Gnome looks better than Windows,
but you could write the whole thing on top of svgalib directly, especially since
gtk is not rooted in X.
>>PPP is not in and of itself a GUI issue.
Agreed, but somehow, so far both Gnome's and KDE's versions of PPP frontends
are not robust. An integrated desktop, which you cannot define, is to me an
integrated way to do just about everything.
In Linux world, where visual consistency cannot be enforced, it makes sense
for every desktop environment to provide its own brand of common tools:
browser, Office suite, config tools, Gimp, etc. so that they would all be
from one source => look and feel the same. The point is that an integrated
desktop is one where everything shares one look and feel right down to same
toolbar buttons. And if you want something that behaves unpredictably - you
should be able to run the rest of the software.
I agree that GUI is just one possible interface and you should be able to use
any one you choose. But when you do choose to use GUI, it must be integrated,
consistent, STABLE, and FAST. Eliminating X would go a long way toward
achieving the last two goals. And Windows/Mac users, who came to Linux
for speed and stability, but who do not want to give up GUI, will hopefully
put an end to the shame that is X.
I see three main reasons to use a computer, and Linux scores two out of three:
1) As a hobby. People who are working on the developing Linux itself, or developing applications for Linux, or simply using Linux to learn and grow familiar with Unix in general are, to my way of thinking, doing so purely for the love of it. Nothing wrong with that, and it's an excellent vehicle.
2) As a server. The above group of people have made Linux a damn fine Unix flavor, one that competes in the marketplace.
3) As a personal computer. Linux is probably no worse than any other flavor of Unix, but when the command line bigots decry people who simply want to use a computer to get work done or to have fun in a trouble free way as imbeciles unworthy of consideration, they necessarily opt Linux out of contention in this area. I don't have to study to use a toaster. I don't have to study to use a playstation. I don't have to study to use a Mac. And, given the general familiarity with technology, I don't have to study to use Windows. What Windows programmers bring to the table are years of established intuitions about how to make Personal Computers can work for the person. It has nothing to do with the quality of their technical skills -- as many have pointed out there are excellent Windows programmers and there are dolts, and the dolts will get no further in the Linux community than they do anywhere else. But it has everything to do with their instincts about making applications that work for people.
Can Linux branch into this third functional area of computer use? It can if people who want to use it as a personal computer contribute toward the evolution of the OS and its apps. Not all people who think this way are Windows programmers, and not all Windows programmers think this way, but there is a very strong correlation.
Personally, I think there is a lot of potential for progress ahead of Linux here, and I welcome anyone who can genuinely contribute to making the Linux box a machine that will work for the single user.
-bluejack
The following three comments really hit the nail on the head:
The first comment typefies the folks who use Linux, who developed Linux, and who continue to develop for Linux. I have no problem with it. Windows sucks -- to my way of thinking -- not because of it's user interface flaws, and of course it has them, but because it interferes with the complicated things I might want to do with my computer. We are in agreement.
The second comment is the reason why Linux is not (yet?) ready to serve as a single-user mainstream OS. I couldn't have put it better.
The third comment expresses the bigotry that disturbs, and saddes me.
Here are several questions that I answer yes to, and the command line bigots probably do not:
I answer yes to these questions, and I think that Linux, or some variant of it, has the capacity to be that OS. Or maybe the new Mac OSX will. Or maybe it will be Be. I certainly don't think that anything coming out of Microsoft will ever do any of these things properly. Microsoft has a huge vulnerability because they have taken their customers for granted for too long. The fact is, their crappy OS and their increasinly crappy software are going to sink them. So who will step in to serve the common folk?
If it is to be Linux, we need the people who have been trained to take the average computer user into consideration.
But hey, maybe the bulk of Linux developers don't want that. That's cool. As I pointed out originally, Linux already does two out of three, and maybe that's all it should try to do.
-bluejackThe general theme here seems to be that if a progam runs on windows, then everything about it is bad. which of course is not true. There are plenty of well written, very usable software that runs on Windows. to name a few Photoshop, Opera, ICQ, EZ CD Creator, and Games.
to many people games is the only reason that they still have Windows, bringing lots of programmers to Linux will probably mean that more gaming companies will create games specifically for Linux.
DOn't get me wrong, there are a lot of great apps for Linux, but more programmers means more choice, it will help to get existing programs out of beta sooner, and they will probably have more features. This will also force hardware companines to make drivers for Linux, so that you won't have to pause before you go and buy the latest wiz-bang thing to think if it will be fully supported in Linux. if there is more backing by commercial companies, then more users will probably follow, which, to me, is a Good Thing (TM).
and as _always_ if you don't like it, then for God sakes don't use it!!
The basic sleazeware produced in a drunken fury by a bunch of UCBerkeley grad students was still the core of BIND. --PV
For language labeling, what's wrong with Unicode Technical Report #7: Plane 14 Characters for Language Tags?
Also, regarding XML's requirement to use Unicode, if XML permitted multiple character sets, wouldn't the parsing become much more complicated?A related question for the Linux GUI geeks: is anyone working on making the text widgets in the various GUI toolkits handle bidirectional text properly? The last time I bought a computer, I bought a reconditioned Mac, specifically because I knew I could get decent Hebrew support with WorldScript.
send all spam to theotherwhitemeat@ropine.com
I can't believe so many people are getting so upset about this. Before you give yourselves over to the rage, think about this:
1.) Windows programmers are, as others here have stated, *not* necessarily Microsoft programmers. Netscape, for one, has released its browser for both Windows and X. Did they ruin Linux?
2.) Nobody can actually "ruin" Linux. It's open source. Infuriated by the prospect of MS-Linux? Don't use it. Red Hat, Slackware, Caldera, and all the other distributions we all know and love will still be around. Even Microsoft can't summarily execute this great beast.
3.) Even if this prediction about Microsoft and/or Windows programmers *does* come to be, I think that, more likely than not, they'll be writing *applications* and *GUI tools* for Linux, not re-writing the OS itself. I don't see any command prompts or shells going away anytime soon. I'm reasonably certain that people didn't make this big a fuss about, say, Red Hat's control-panel utility.
Try to keep your cool, guys. Windows programmers aren't by default idiots or incompetents. They just develop for the most popular operating system so that they can bring home the bacon.
Just a thought. Disregard at your convenience.
All unfair meta-mods are now being meta-meta-modded as retarded.
Oh! I really can't wait to do away with command line tools and text configuration files. I mean, who on earth would rather use vi on a text file when they could be spelunking their way through a poorly documented binary config file.....
Well, Linux programmers so I have seen anywa, prefer to make a "does one thing, and does it well" philosophy. Where in Windows, you end up with these feature rich, bloated aps, for the most part. Combine the 2, and ??? ;-)
What I _hope_ to see, it something like this..
Linux programmers, working on a rock solid well rounded "back end" to a program, with Windows programmers, working on well rounded GUI's to these programs. Sooner or later, these Windows programmers will learn to love. the breadth of choices in Linux programming, and I don't fear ending up with "another windows" because of this. Imagine the feeling when a Windows API user, writes his first GTK+ program? "You mean thats it? 8 lines of code and I have a Window? KEWL!!"
Anyway, If things are written using the GPL, by these Windows programmers, we can always show them "where they went wrong", can't we?
All I can say is.. ouch.. :-)
look out for the flame wars to end all flame wars to start..
I just hope that out of the dust and rubble, we are confronted with a Linux ( and Open Software as a whole) thats stronger because of it.
Remember, we still will have our choice of what software we use, after all who cares if bad Windows programmers write bad apps, cause no one will use them, and in the end, I'm sure there are good Windows programmers, who'll write some new stuff, we'll actually like
Oh please. Yes, let's all ask /. to withhold information from us if it might be the least bit controversial. God knows /.ers wouldn't be able to handle such a thing!
while i havent used linux too much (i havent
had a use to, and i've been weaned on gui's..
that will change soon, dont worry) i believe
that windows programmers will flood linux,
with a bunch of buggy programs. soon after,
though, the fake programmers will back off,
and the ones that have quality programs to
offer will excel linux beyond what it is today.
Once even a small portion of the Linux development community gets religious about usability and human factors issues
Umm, usability factors coming from Windoze programmers? Not freaking likely....
...nothing could be worse for Linux than "hordes of windows programmers". I've spent 10 years developing on Unix, Mac but mostly Windows. While there are a good programmers in the windows world, the only reasonable definition of "windows programmer" -- a very general term-- is the average guy with 2 years of Win95 experience flooding employment agencies. Let me tell you- these people can't program. Their idea of development is to instantiate the appropriate MFC (or god forbid VB controls) classes and link them together iwth a few lines of code. If you ask them to implement functionality not already in MFC (or VB) or easily derived from them, then it takes them forever. If you ask them to name two situations in which you don't want to use an object, they can't name any (and there are lots, even C++ lovers concede it.) I don't know what educational institutions are churning these guys out, but I am continually shocked at how quickly the average "Windows programmer" skillset has dropped over the years.
However, in contrast the people I've met from the Linux community are unusually clued in about technology and good programming practices (though, I have to concede my opinion might change after I start digging thru the kernel) -- and though it seems like a young crowd, somebody taught you guys right!
So, on the contrary-- I think Linux is the only avenue to bring legitimacy to the Windows programmer crowd! The profession of programmer is getting a bad rep with the dilution of quality, and the MSCE (Microsoft Seems to Certify Everyone) attitude these days has me feeling nauseous.
Jay
I just took a look at Dylan, and I did not see
anything on the harlequin web page that showed
a visual form designer or anything of the like.
Did I miss something? Delphi's great strength is
that you can make visual components for it(in delphi) and use over and over on your forms.
Very good point. There are some other things that I've noticed about windows and unix programs though. Just as a note, I'm not a programmer myself. I'm basically a system admin, but I do occasionaly write things, mostly little scripts in perl, bash, tcl/tk, or when I'm doing stuff on the NT side of things, cmd. I can write "hello world" in a few other things, but I certainly don't claim to know them.
/, rm assumes that that's really what you wanted to do, and does it assuming that you know what you're doing. And unix users trust their machines to do things while they aren't watching over them. How many unix users know how to use cron, compared to how many NT users know how to use at? This trust between the users and the programs seems to be a common theme among unix applications.
Unix programs tend to be made so that they can be used as a part of a greater whole. Windows programs tend to assume that a person is going to be interacting with them. If I ask someone about a unix program, and how to use it, I get a list of command line switches which offer all the functionality of the program. When I ask about a windows program, I get "well, first right click on...." Which one of these am I going to put in a script? Which one will run unattended in the middle of the night while I'm happily at home asleep?
I used to think that I really liked linux, and really didn't like windows and dos. Well, I was right, but not as much as I thought. What I really didn't like was the way programmers wrote programs for windows/dos. Not that they couldn't have written them in a better way, but there seems to be an assumption started by MS, that has flowed to the people who program for MS platforms, that a required resource for any program is a user sitting in front of it.
even some programs that do have some scriptability miss by just a hair. If I want a list of users on a linux box, it's easy. On my NT boxen, it's also simple. the "net user" command will output all the users. Formatted in three columns. That's bad enough, but then they put three lines of header and a trailer that says "The command completed successfully". What a pain to massage that to the point that I can put it into a script.
The basic difference seems to be trust.
Unix and unix programs seem to trust the user. If you type in rm -rf
windows and windows programs don't trust the user. It seems like almost everything you do, it's asking you if that's what you really wanted to do. Which becomes self-defeating, as users see it so much that they stop reading it and click the default button no matter what it says. And the users don't trust the programs. I've seen very few, except for a couple of server apps and backup programs, that are capable of being run in any sort of unattended mode.
In short, I'm worried about windows programmers coming into the unix world. I think many of them will create bad applications. Many of them will create good applications. Most of them will create applications which make my life harder. But I'm not all that worried, because there are already a lot of good unix programs out there, and there are already a lot of good unix programmers out there. I'd be worried if we were going to lose those, but I don't think we will.
Pound! Bang! Bin! Bash! is this a shell script or a Batman comic?
That is a bunch of *crap*. I have been programming MS Windows for about 8 years now -- well before the days of the ubiquitous wizards. Additionally I have programmed professionally in the X Window (Motif and Xlib) environment. I will tell you that the basic skill set required is the same no matter what platform you develop for. Coders that suck in X suck in Windows.
I agree that there are lots of MFC programmers out there who don't know jack about the underlying API, but the same can be said about lots of Motif developers.
One thing is for sure, the MS Windows based (MS, Borland, Symantec, et al) development tools are far and away superior to the UNIX based tools out there (and they don't cost $$thousands per seat).
I also note the KDE project is doing it damnedest to emulate the functionality of Windows -- like it or not, Microsoft's development model will be around for years to come.
I am very small, utmostly microscopic.
I think Linux can easily success in being a broadly used operating system. But whe can see soon also a lot of those "shareware" programs to fullfill the entire Linux panorama.
Linux is not only a good operating system, but also a philosophy. I think we must begin doing more *open source* evangelism, than *linux* evangelism.
Where the users are, the money will be (and the propietary or comercial programs). Think on Internet four years ago, do you remember Mosaic and the flash raising of Netscape?
Víctor R. Ruiz
rvr(at)blogalia.com
I'm a Mac person; unfortunately I'm not a Mac programmer.
:-(
While Windows programs generally has no visual order, it seems that Mac programs are also slacking in their visual design, perhaps because of Windows influence