View Full Version: what i like in linux

C++ Learning Community > C++ for Linux > what i like in linux


Title: what i like in linux


dorto - February 23, 2005 10:09 AM (GMT)
there are lots of differences between the linux family and windows family of operating systems but the main difference for me is this:
linux is programmer centric and windows is user centric.

windows was created by a business organisation, so the main concerns were user-friendlyness and efficiency. they hardly thought about aesthetics and good design.
it was quite opposite with unix, which was created in research labs and hence they hardly gave any importance to user-friendlyness - users for them were highly qualified programmers!
thomson strived for best design and good aesthetics - just see the file system, file permissions etc for some examples.
so both have advantages and disadvantages.
unix is programmer's OS and so the support for porgrammers is too good. many believe that someone who hasn't programmed under unix doesn't quite know what true programming delight could be! i myself can't even compare programming under linux and programming under windows, its atleast thousand times more enjoyable in linux. i do enjoy programming under windows a lot, especially with .NET these days, but its not the same as linux.
windows being more user-centric has tried not to change the user-interface too much while changing the programmer APIs quite often - for eg, winapi, mfc, atl and now .net.
user-interface in linux based OS have never been the same, not even close. but the programmer interface has undergone little changes.

to see just one example how the programmer api is well designed, compare the code for creating a new process:
//under linux
if(fork() ==0 )
{
//child(new process)
}
else
{
//parent(old process)
}
now you have so many arguments to pass to do the same job in windows. one example does not show the complete picuture but believe me, this example truly represents the plus points of a well designed api.

C-Man - February 23, 2005 12:02 PM (GMT)
the POSIX standart is great ^_^
another example is comparing the POSIX file i/o to Win32api fiel i/o
for instance just compera how many args shit you have to pass to OpenFile as oposite
to open in linux

gnschmidt - February 23, 2005 01:40 PM (GMT)
I started programming under Unix and later moved to Windows as that's what I happened to have on my home computer.

For a little while I ran Linux on a partition (though the HD was too small and I had to remove it later) and I loved it. There's just so much useful stuff that's already there (vi, gcc, Perl, etc.) and so much less garbage...

And yes, the cumbersome Win32 approach to files and directories baffles me, too.

Consumed - February 23, 2005 02:11 PM (GMT)
The winapi is bloated beyond hope. <_<
I like the posix api 'cause it's standard, very simple, and portable. :)

myork - February 23, 2005 05:54 PM (GMT)

A quote from a book i read once. Forget the name.

QUOTE
A big reason that UNIX administration is challenging is that every UNIX vendor believes standards are for weak-minded fools.

dorto - February 24, 2005 04:38 PM (GMT)
hahaha! nice quote, i should use it somewhere ;)
though its about unix administration.
programming api is stable enough, if not completely standardised. the minor differences in different unix flavors are very annoying though. POSIX brought some level of uniformity .

TheHawgMaster - February 24, 2005 06:18 PM (GMT)
Blah, I still need to figure out how to install Gentoo :badboy:

dorto - February 25, 2005 04:44 AM (GMT)
FreeBSD(not linux), Debian and Gentoo have very difficult installation process. try something easier than that - Red Hat, Mandrake, Slackware etc have easier installations AFAIK. if you want you can get some help on #C++.

KTC - February 25, 2005 10:03 PM (GMT)
The latest Debian version (Sage) installer isn't that bad. Yes, it's text based, but apart from that, it works perfectly fine even for someone who don't know anything about GNU/Linux. One can just answer a few simple question like in the more newbie oriented installer and have it working. (From experiences of trying to get quite a few different distro. working with an old computer.)

Consumed - February 25, 2005 10:50 PM (GMT)
QUOTE (dorto @ Feb 24 2005, 10:44 PM)
FreeBSD(not linux), Debian and Gentoo have very difficult installation process. try something easier than that - Red Hat, Mandrake, Slackware etc have easier installations AFAIK. if you want you can get some help on #C++.

Slackware's more of a "power user" installation. Heck, I had to have hehzz in irc on the other comp answering every single question for me just to get through the install. And then there was setting up X... :shudders:

KTC - February 25, 2005 11:14 PM (GMT)
Slackware's also text based but installed for me without any complicated question... :unsure:

Consumed - February 25, 2005 11:33 PM (GMT)
Yeah well, I make everything complicated. :P

hehzz - March 1, 2005 07:36 PM (GMT)
In my opinion slackware has more difficult installation than debian has. Debian is much more automatic. Debian Sarge R0X ;D But i guess i should try Gentoo also... <_<

myke - March 2, 2005 05:33 PM (GMT)
freebsd was fun to install for me, didn't run into any problems and i only had experience with using mandrake but i installed slackware prior to installing freebsd never used it though

dr voodoo - March 2, 2005 07:23 PM (GMT)
QUOTE (dorto @ Feb 25 2005, 04:44 AM)
FreeBSD(not linux), Debian and Gentoo have very difficult installation process. try something easier than that - Red Hat, Mandrake, Slackware etc have easier installations AFAIK. if you want you can get some help on #C++.

Personnaly I didn't find installing Gentoo itself too hard, you only need to read and understand the docs before starting the installation. What made it hard were errors in the installation guide. For example keyboard map is set after booting and not on commandline in lilo as stated in the guide, although AFAIK this is corrected by now. Then the genkernel scripts on the LiveCDs were corrupt.

The only problems I still have is playing midi files and starting KDE as non root. I guess I should really fix the second one but for the 3 times I boot Gentoo in 7 months it certainly will also do it's work this way.


The reason I prefer Windows is that I'm used to it and it serves my needs and because most open source programs often have a Windows and a Linux port whereas commercial software most of the time Windows only is.

dorto - March 4, 2005 10:49 AM (GMT)
QUOTE

because most open source programs often have a Windows and a Linux port whereas commercial software most of the time Windows only is.

there are LOTS of ports of linux apps for windows - no doubt about that. but there are more number of apps that have no windows equivalent(also the ports are mostly a little behind their original versions - like gcc). ofcourse not everyone might want to use the unported apps or the latest versions. but the reason for most of the people who prefer linux over windows is beyond the number of apps available for each OS. windows is clearly ahead in support of audio, video, games etc whereas usp of linux is ability to automate, glue different tools together, networking, internet, web hosting etc.

but more importantly linux is unbeatable in the area of programming tools/support. there is no competition on windows os for the combination of { bash + emacs + gcc + gdb + make + cvs + gprof + etags + ar + grep + sed + ldd + ltrace + strace + valgrind + LOTS_OF_OTHER_TOOLS }.
one can find many of the above tools on windows too, but hidden behind some IDE which would severely limit their usefulness(just check how many things gcc can actually do). programs can be developed in a console in windows too, but again the console in windows is too basic - if in linux its 128-bit cpu then in windows its 8-bit microcontroller. i can customise everything in linux using shell scripts - as a programmer i get to decide what happens at *each* step in the program development cycle. batch files can be written in windows too...but again they are no comparision to unix shell scripting.
most of unix programming apis are logically designed - multi-processing, multi-threading, bsd sockets etc are much more intuitive to program under linux. compare creating shared libraries in linux and windows.
and the number of options available for everything: there are atleast 8 programmer's editors installed by default in linux compared to none in windows(no, i don't count notepad as one), more than 1 memory leak detector, file comparators(which i use too often), databases etc.
no programming tool is installed by default in windows, i have to spend painstakingly long amounts of time installing all the tools from my cd/dvds and remember to upgrade(download, archive and install) them frequently. tons of apps come installed by default in linux and i just need to upgrade my linux os to get the updated versions of all those tools - less than 30 mins for me. (its especially advantageous for someone like me who needs tools for C,C++,perl, python,php,tcl,tk etc).
for Java, both are equivalent for me: NetBeans, Eclipse, IntelliJ IDEA all come for both windows and linux and none ships them by default(PCQLinux ships jdk+j2ee+eclipse+tomcat but i don't use it).
windows scores when i need to develop windows specific apps using VC++(argh...i hate this...) and .NET(ah, relief!).
i am not a 'linux' guy, i am called a 'windows' guy because i know windows better than linux, i spent more time on windows than linux and i am more fluent in windows than linux. that doesn't stop me from acknowledging what is good in linux(or in windows - i don't hate microsoft products as many people do though i may hate the way they do their business. i try to have honest, unbiased opinions without any emotional attachments on technical matters. .NET for eg is my ultimate fav)
but finally its something like cynic's quit message on irc. i use mandrake because its simple. many hate it as they find it very limiting when compared to debian or gentoo(from programmer's point of view). i have used them just once or twice so i can't really appreciate their plus points and why my mandrake(or red hat) is treated as 8086 by them. i invite interested people to use any linux consistently for 1 year(i will do the same with debian) and then let me know what they think about it. i am sure its not for everyone, but then again many people may just end up liking it.
QUOTE

for the 3 times I boot Gentoo in 7 months it certainly will also do it's work this way.

i am not as surprised to hear that you boot into linux 3 times in 7 months as i am curious about why you need to boot into it for those *3* times!! ;)

Incubator - March 4, 2005 12:50 PM (GMT)
I reboot every day, but thats not gentoo's fault
1) my ev1l mother demands it off when i'm not home
2) every 36h my IP expires and router wont fix a new one and reboot fixes that, however Aparently kiilling dhcpcd and starting it again seemed to fix it one time

myork - March 4, 2005 03:17 PM (GMT)
QUOTE (dorto @ Mar 4 2005, 05:49 AM)
but more importantly linux is unbeatable in the area of programming tools/support. there is no competition on windows os for the combination of { bash + emacs + gcc + gdb + make + cvs + gprof + etags + ar + grep + sed + ldd + ltrace + strace + valgrind + LOTS_OF_OTHER_TOOLS }.


OK. Its too early in the morning to read the whole post by dorto.
I'll come back after some more coffieen.

One good thing is cygwin.
It provides all the Linux development tools for a windows machine. Its the only thing that makes life on a Windows box tolrable.

Incubator - March 4, 2005 04:37 PM (GMT)
true :)
but i still prefer 24/7 gentoo :P
its been...sicne december i went in windows, and then it only was for gta3

C00L - March 4, 2005 05:00 PM (GMT)
I like apt-get in debian, makes installing/removing programs easy. also apt-get update and apt-get upgrade could not really be simplier

dr voodoo - March 4, 2005 05:08 PM (GMT)
Certainly Linux has a lot in advantages compared to Windows. Linux is unbeatable when it comes to customization and to adabting to different processors and hardware enviroments.

I do play games and when programming don't program big things so a working compiler and debugger is all I need. Also Windows is something that works directly, then run the MinGW studio installer and you are ready to program. Of course it's not as full featured as Linux is but it meets my needs. When I program then it are either some small programs like the ones I've posted here or algorithm implementations as the ones we want for our contest. Here you don't need a profiler, make or bash. It simply would be overkill for what I would use them for. Also I don't know all of the tools which you have posted but for all I know there is a Windows port.

There are without any doubt people for which Linux makes sence but I'm not one of them.

Linux certainly is worth looking at and very impressive.

QUOTE
i am not as surprised to hear that you boot into linux 3 times in 7 months as i am curious about why you need to boot into it for those *3* times!!

When I want to test if a program I've coded using Allegro or SDL compiles and runs under Linux.

C00L - March 4, 2005 05:14 PM (GMT)
dr voodoo what distro are you using?

myork - March 4, 2005 06:12 PM (GMT)


If your distro has ap-get
Then there is a GUI that sits ontop of it called 'synaptic'

Very cool stuff.

Incubator - March 4, 2005 07:00 PM (GMT)
QUOTE

Real men don't click

- Jan Celis, KdG, Antwerp (Belgium)


the way I was educated :)


there fore: i love
emerge -upDv world # pretend updating the whole world
emerge -s(or -S) package-name # search
emerge -C package name # delete package, can also ne used with pretend






* Hosted for free by InvisionFree