Linux Distro Thread
Jan 29, 2005 at 6:28 AM Post #31 of 78
Quote:

Originally Posted by Aman
Steponovich: It's quite worth it in the end, trust me
smily_headphones1.gif


However, the more powerful your machine is, the more effective the results will be.



Yeah, I know. My computer isn't exactly a slouch, (XP 2000+/512MB RAM) but X still takes about 30 minutes, IIRC. Maybe more. It was all a blur. In retrospect, I don't think it was so much the compile times that killed me, it was the repeated re-compiling to fix bugs. I have a Radeon 9800 Pro, which doesn't play well with certain versions of X.org, as you probably know. And no, I didn't know about ccache. That would have cut the compile times by 75%, I'm sure. Anyway, I've got a second XP 2000+ (384MB RAM) that I'll have compiling alongside this one, so it shouldn't be too bad. I think I'm going to install Gentoo on a different HD, though, and if I like it, I'll dd it over to my main Linux drive. I don't want to wreck my precious Debian installation if I need to go back to it
biggrin.gif


Quote:

Originally Posted by 3lusiv3
I have used NetBSD, FreeBSD and OpenBSD a fair bit as well, as servers. I used to have a keen interest in BSD and Linux, but then Mac OS X came out and I've been hooked on that ever since and don't feel the need to try any other OS. It has a lot of features from FreeBSD 5.


You know, the more I look at Mac, the more I'm tempted to get one. I've always had a hate for them, being a PC guy and all, but it's just staring me in the face. Unix based, has all my command line tools I love, runs circles around Windows in Photoshop, and looks sexy while doing it. (referring to the Gx series, anyway. G5 is t3h überh0tn3ss!)
 
Jan 29, 2005 at 6:46 AM Post #32 of 78
Quote:

Originally Posted by Stephonovich
You know, the more I look at Mac, the more I'm tempted to get one. I've always had a hate for them, being a PC guy and all, but it's just staring me in the face. Unix based, has all my command line tools I love, runs circles around Windows in Photoshop, and looks sexy while doing it. (referring to the Gx series, anyway. G5 is t3h überh0tn3ss!)


If you're interested in learning programming, Stephonovich, a Mac might be a good choice. Objective C and Cocoa is almost the ideal learning environment for first time programmers. You pick up a little C (always useful), many of the core ideas from Smalltalk (from which Objective-C is inspired), many of the core ideas from C++, and get a nice, polished, heavily documented object-oriented toolkit to work with. It's what I'd want to work with if I was just learning.

That said, learning Java or C# and their respective class libraries would be a more marketable skill, but you wouldn't learn as much, nor probably have as much fun.
 
Jan 29, 2005 at 6:55 AM Post #34 of 78
Quote:

Originally Posted by Wodgy
If you're interested in learning programming, Stephonovich, a Mac might be a good choice. Objective C and Cocoa is almost the ideal learning environment for first time programmers. You pick up a little C (always useful), many of the core ideas from Smalltalk (from which Objective-C is inspired), many of the core ideas from C++, and get a nice, polished, heavily documented object-oriented toolkit to work with. It's what I'd want to work with if I was just learning.

That said, learning Java or C# and their respective class libraries would be a more marketable skill, but you wouldn't learn as much, nor probably have as much fun.



Seeing as how Objective C is based on C, I'd think it'd be wiser to learn C first. Besides, if one knows C, Java is much easier, since the concepts are similar. C++, also is much easier then.

Finally, C is rather the gold standard for most programming applications. Or at least, you have to know it. Look at the requirements for any programming job, and they'll list C in there.

EDIT: Aman, I'd have to agree with at least Perl and C/C++, seeing how the Perl interpreter and gcc is so tightly integrated with Linux. Haven't looked into much Java or Assembly programming, so I can't comment on that.
 
Jan 29, 2005 at 7:01 AM Post #35 of 78
Yeah, Gentoo... spent over a week installing and compiling and in the end it failed smack in the middle of compiling some X thing or another (either base X or more likely the actual X server, ATI probably). And that is pretty much the end of that one. Supposedly you can compile just what you want and how you want it. In practice, it doesn't work. One wrong turn anywhere during a week worth of compiling and you're screwed. Now it wouldn't be the first time I'd fixed a makefile or a C source but this time I've let it rest. I wouldn't recommend Gentoo unless you're a masochist or have TONS of free time. So for the probably first time since 1995 I don't have a working linux installation.

By the way last time I tried, Java was running considerably faster on Windows. I know Sun did that bad thing back then when they screwed up a whole team of people working on continuously porting Java to Linux (black - something it was called). Don't know if it's any better now.
 
Jan 29, 2005 at 7:03 AM Post #36 of 78
Quote:

Originally Posted by aos
Yeah, Gentoo... spent over a week installing and compiling and in the end it failed smack in the middle of compiling some X thing or another (either base X or more likely the actual X server, ATI probably). And that is pretty much the end of that one. Supposedly you can compile just what you want and how you want it. In practice, it doesn't work. One wrong turn anywhere during a week worth of compiling and you're screwed. Now it wouldn't be the first time I'd fixed a makefile or a C source but this time I've let it rest. I wouldn't recommend Gentoo unless you're a masochist or have TONS of free time. So for the probably first time since 1995 I don't have a working linux installation.


Bet you didn't read our docs, and you didn't take the recommendation of NEVER using an ATI product on an open source operating system
wink.gif


May I ask what you were doing? X Compilation errors are only common on Amiga, Ultra SPARC, and Alpha processors as far as I know... the development team made sure that a broken source compile would only effect the ebuild itself, and not its dependencies nor any programs linked to it... in fact, I helped make sure of that myself
eek.gif


I certainly don't have "tons" of free time on my hands, but Gentoo takes me only a few hours to install and complete. I don't know where you're coming from...

It works if you know what you're doing and you follow the docs carefully. It's a foolproof install from there! You obviously messed up badly... I've never heard in my life a failed source compile of Xorg breaking a system! The fact that it said "week" in there is troubling enough, maybe you weren't experienced enough?

And by the way, I did read that you have been using *nix since 1995... possibly you've been using Red Hat for all those years?
rolleyes.gif
 
Jan 29, 2005 at 7:04 AM Post #37 of 78
Quote:

Originally Posted by aos
Yeah, Gentoo... spent over a week installing and compiling and in the end it failed smack in the middle of compiling some X thing or another (either base X or more likely the actual X server, ATI probably). And that is pretty much the end of that one. Supposedly you can compile just what you want and how you want it. In practice, it doesn't work. One wrong turn anywhere during a week worth of compiling and you're screwed. Now it wouldn't be the first time I'd fixed a makefile or a C source but this time I've let it rest. I wouldn't recommend Gentoo unless you're a masochist or have TONS of free time. So for the probably first time since 1995 I don't have a working linux installation.


May I ask how X not working made the whole shebang inoperable? Last I checked, runlevel 3 completely ignores X, and doesn't really care what's broken, so long as your kernel is good. And X doesn't take that long to compile as compared to, say, Gnome/KDE or OpenOffice. 30 minutes or an hour of your time isn't that much to ask.

Hey now, Aman, don't be dissing ATI
biggrin.gif
Sure, their Linux support sucks, CCC blows, and the cards run insanely hot with stock setups, but, um... dammit, leave us alone!

As to the ease of Gentoo, let it be known that I managed an install of it (stage2), with the only previous Linux experience being Mandrake, Red Hat, and SUSE, and at that, not really any manual configuration, just general toying around. Granted, I had an experienced Gentoo user watching me and guiding me, but I was the one who read the install book, wrote the config files, and watched proudly as it booted
biggrin.gif
 
Jan 29, 2005 at 7:07 AM Post #38 of 78
Coming from 20 years of SW development, using UNIX since late 80's and Linux since 1995.

Saying don't buy ATI is a practically useless suggestion. Besides I'm a Canadian and I'd rather buy Canadian products.
 
Jan 29, 2005 at 7:09 AM Post #39 of 78
No no, of course Linux is running fine. Just the X won't compile so you're stuck with command line.

I was going for the partial option - I downloaded the pre-compiled base that was good for my hardware (gcc, basic tools etc.) and then started downloading other stuff which I did recompile. I'm pretty sure I followed instructions.

By the way I started with Slackware (the one that installed on MSDOS), then I used redhat, then I was stuck on SUSE until they started charging tons of cash and stopped letting you download new OS until a month+ since release, then I switched to Mandrake. Perhaps I should go to Debian, a friend of mine is very happy with that.

Frankly though linux doesn't suit my needs. I like to have it around for those times when windows crashes and corrupts itself and won't boot. You can do wonders if you can boot linux and at very least get your data off it or repair boot sectors or whatnot (it's been what 5, 10 years and still no writeable NTFS support. Yeah, it's M$ fault. Yeah they keep specs private. Sure I hate non-open standards. No, it won't help me fix my problem.)
 
Jan 29, 2005 at 7:15 AM Post #40 of 78
Quote:

Originally Posted by aos
No no, of course Linux is running fine. Just the X won't compile so you're stuck with command line.

I was going for the partial option - I downloaded the pre-compiled base that was good for my hardware (gcc, basic tools etc.) and then started downloading other stuff which I did recompile. I'm pretty sure I followed instructions.

By the way I started with Slackware (the one that installed on MSDOS), then I used redhat, then I was stuck on SUSE until they started charging tons of cash and stopped letting you download new OS until a month+ since release, then I switched to Mandrake. Perhaps I should go to Debian, a friend of mine is very happy with that.



Debian is nice but also an arch rival of Gentoo. Basically, same idea as Gentoo.. will take you just as long to install, just as difficult to install, but you will gain less out of it (much far behind the current stable kernel sources and etc., old drivers for EVERYTHING, all binary packages).

When you go through such effort, it is better to stick with the distro that will be giving you the bigger advantage, and that is Gentoo now. Debian is fine until you realize that it's the most difficult to understand install you will ever experience... even worse when you realize your kernel version is 2.4.x when you SPECIFICALLY TOLD the installer to use 2.6.x
tongue.gif
(personal story of mine).
 
Jan 29, 2005 at 7:20 AM Post #41 of 78
I know, debian stable is usually WELL behind everything else. My friend uses old hardware and rarely changes it so it works for him.

My other problem is that often my hardware is too new. So no drivers.

I'm sure Gentoo is a great idea - after all I used to compile everything in slackaware days, bootstrapping gcc and stuff, good old days. I'd love to have the code optimized for my hardware, but... In the end you have to make a shopping list based on what hardware is supported and as you get older you notice that you just don't have any more patience for that. I could make time to do it, but I just can't be bothered any more. Perhaps it's time to switch to Apple - I have been eyeing that emac mini... And it runs UNIX in the background so you can get some use of the command line if you need to...
 
Jan 29, 2005 at 7:38 AM Post #42 of 78
Quote:

Originally Posted by Aman
Debian is nice but also an arch rival of Gentoo. Basically, same idea as Gentoo.. will take you just as long to install, just as difficult to install, but you will gain less out of it (much far behind the current stable kernel sources and etc., old drivers for EVERYTHING, all binary packages).

When you go through such effort, it is better to stick with the distro that will be giving you the bigger advantage, and that is Gentoo now. Debian is fine until you realize that it's the most difficult to understand install you will ever experience... even worse when you realize your kernel version is 2.4.x when you SPECIFICALLY TOLD the installer to use 2.6.x
tongue.gif
(personal story of mine).



Debian is considered the arch rival of Gentoo, eh? Didn't know that. I figured Gentoo was kind of off in it's own little world. As for Debian being behind, I use the unstable tree (I do that in pretty much all distros, though), so it doesn't affect me much. On the off chance a package I want isn't in the repository (kernel 2.6.11-rc1-ck1 for instance) I download the source myself. No big deal.

Once I get the other system up, I'll install Gentoo, and let you know how it goes. Now that I know you're a developer, actually, I'll probably be bugging you as much as possible
evil_smiley.gif
 
Jan 29, 2005 at 8:11 AM Post #43 of 78
So, how would you go about installing X? I just dusted the old installation, had to use ifconfig to get networking working and am just doing emerge --sync. I looked into the handbook but couldn't find any section mentioning X. Specifically X base and then X server, I can add window managers and desktops later.

I just tried doing emerge --update world (after updating tree and emerge itself as directed by prompts), but this gives me the message

emerge: there are no ebuilds to satisfy "=sys-devel/automake-1.8.5-r2".

!!! Problem with ebuild media-video/ati-drivers-3.14.6
!!! Possibly a DEPEND/*DEPEND problem.

!!! Depgraph creation failed.

I cannot remove ati-drivers either - I get

/usr/lib/portage/bin/ebuild.sh: /var/db/pkg/media-video/ati-drivers-3.9.0-r1/ati-drivers-3.9.0-r1.ebuild: line 173: syntax error: unexpected end of file

looks like corrupted installation files for that one. Any way to get rid of them? According to documentation "this should not happen". As a programmer I know things that should not happen often indeed do
smily_headphones1.gif
. Like a problem with Java Calendar class I had yesterday that turned out to be JDK bug.
 
Jan 29, 2005 at 12:25 PM Post #44 of 78
Quote:

Originally Posted by Stephonovich
Seeing as how Objective C is based on C, I'd think it'd be wiser to learn C first. Besides, if one knows C, Java is much easier, since the concepts are similar. C++, also is much easier then.


I'm not sure where you're getting your information from, but it's a little off. You do need to know C to program in Objective C, just as you do need to know C to program in C++. However, Java is nothing like C. Those two are about as dissimilar as imperative programming languages get.

Quote:

Finally, C is rather the gold standard for most programming applications. Or at least, you have to know it. Look at the requirements for any programming job, and they'll list C in there.


Modern programming shops generally do not work in C, unless they're writing embedded applications, systems level software, or device drivers. C is really just a hair away from assembly language, and the grizzled coders who swear by it are usually ancient sysadmins who haven't touched a large-scale application in fifteen years.

Quote:

Aman, I'd have to agree with at least Perl and C/C++, seeing how the Perl interpreter and gcc is so tightly integrated with Linux. Haven't looked into much Java or Assembly programming, so I can't comment on that.


My own personal advice is to stay away from Perl. It is unreadable and unmaintainable, has a non-context free syntax, and is fundamentally useless for anything serious. I personally think people who attempt to write large programs in Perl are just plain stupid, and I would never trust their judgment about anything. I'm rarely that blunt. Perl represents, in microcosm, everything that is wrong with computers.

Smalltalk is really the ideal learning language, because so many of its concepts form the basis of the modern languages we use today and yet it was designed to be easy enough for children, but unfortunately the most accessible learning environment, the open-source Squeak Smalltalk, is not really usable to create real-world applications. Still, it's fun to play around with. Objective-C is its closest surviving relative, and it has also had a big influence on both Java and C#. C++ is quite different from all of these, both in intent and design, and for several reasons is not a great starter language. It can also be fun to pick up one of the major functional languages like Lisp or Haskell or Scheme. At MIT they start people off with Scheme, or they used to anyway, but these kind of programming languages are not really practical in the real world because it is nearly impossible to create interactive applications. Still, the concepts are fun and interesting to learn.
 
Jan 29, 2005 at 6:38 PM Post #45 of 78
Once you get into real world of jobs, you'll see that the knowledge of a particular language is just a small piece of the technical knowledge that you're expected to have. It's the APIs, libraries, packages and other adjoining technologies, plus the know-how of applying them, that is really used to create an application. Knowing Java itself for example is by itself not much - you'll actually
need to know and use all those J*** API's of which there are many dozens, plus many of the open source packages (e.g. ant, Hibernate, Spring, log4j, Xerces, Xalan and many more). Not to mentioned knowldge of object oriented analysis and design and UML whic you'd use to connect all those pieces together in an application that is flexible, extensible and maintainable.

If I were choosing now, I'd stay away of IT or try to find a specialized company, unless you plan to use IT just as a mean to get into a company, and then plan to move out of it into management or sales or want to become independent consultant or own your own IT business (and are very confident that you have necessary soft skills, which most "real" IT people don't by the very nature of fascination with science and technology). It used to be fun 10 years ago but today it's becoming a by-the-numbers job, that has bad career prospects, doesn't pay well considering the massive amount of knowledge and experience required and especially cost of maintaining it, as well as lack of recognition that is pervasive in most companies. If you like programming it's better to have it as a hobby than try to make money out of it - because you may well end up hating it. They say the average life span (i.e. length of time a person stays in that role) of a software developer is 7 years.
 

Users who are viewing this thread

Back
Top