Wouldn't this be more appropriate for Lent, rather than Christmas? I'm not a Christian, but I was educated in their ways as a child in Scotland. It reminds me a lot of the Father Ted episode when they hire the nun for lent...
Thank you. That's exactly the point I was trying to make.
Whenever the RIAA, BPI et. al. accuse someone of "pirating" music, it's very often only a handful of songs performed by some talentless teeny-bop icon or similar mass-market, lowest-common-denominator manufactured trash.
In my very humble opinion, that is. Also, I have up following the pop charts well over 20 years ago which is why I made a tongue-in-cheek attempt to cross the names of two acts.
There's quite a simple solution to that problem, really. The ship should self-destruct causing maximum collateral damage when captured by pirates:-) After the first couple of nuclear reactors spew their guts all over the pirates, they'll soon learn their lesson.
PCs were a lot more expensive in real terms in those days than they are now. You had to be pretty rich to afford a 486DX. The sort of people who would have been interested in Linux back then (i.e. university students) would have struggled to afford such a computer. A 386sx was much more affordable.
I had a summer job at a PC dealers in 1992, and I remember setting up many 386sx machines for a large customer. I also remember that Shell had hundreds of 386sx machines running Windows 3.0. I put network cards in many of them, and installed mice.
One customer we went to see had an IBM PC/XT with an 8088 processor and CGA! We went to install a mouse (8-bit ISA slots) but there we no free IRQs.
However, there is a whole wide world of very interesting non-Microsoft systems out there. If you concentrate on learning Microsoft technologies (e.g. the.NET stack and its languages) you will be confined to the Microsoft ecosystem. Don't try to tell me that.NET is portable: for all serious jobs, it is only works on Windows.
When you go to learn a new language or platform, it should be something you enjoy. Unix and especially Linux are the friendliest platforms for developers. The jobs for Linux developers are much better too, far more interesting. Your job should be personally interesting and fulfilling, if at all possible. A substantial part of your life is spent at work. Yes, we must work to pay the bills, but you should try very hard to get a job that gives you personal satisfaction or you are wasting your life.
I think that most people would agree that writing boring old GUI front ends to database applications in a.NET language is not a great way to spend your life.
Since Microsoft is so ubiquitous, and there are large numbers of developers for Microsoft's platforms, you risk becoming one of the interchangeable, cheap programmers.
Having said that, there are interesting languages available for the,NET CLR, but you're as good as tying yourself to Windows.
There are as good and better languages available for the JVM, which is properly cross-platform. Also, there are many vendors of JVMs to choose from, not just Oracle.
If you are going to learn a new language in your own time, on your own dime, you'd better make it interesting and a bit different, not just another C#, Java, PHP... That's why I suggested Scheme and D. I would have suggested Haskell too, and maybe FORTH, but they are a bit "far out." I haven't tried Haskell myself yet, but a friend has and he loves it.
I'm a C/C++ developer (mainly C) and I enjoy it. I don't enjoy C++, but I'm paid to use it, so use it I do.
I've been dabbling with scheme for fun. It's very different to C, C++ or any of the other languages you mention, but a couple of hours reading about it and playing with it will really open your mind and be a bit of fun.
By ignoring the.NET languages, you are obviously intelligent and discerning; you don't merely want to follow the heard into a boring, run-of-the-mill job. Good for you. 15 years ago I started to learn Linux when everyone was laughing at it (and me for using it) but I'm in a great position now.
The other language I'm about to try is D which was deliberately designed to address many of the shortcomings of C++. It's a lot simpler and much more pragmatic that C++, by the looks of it. For a start, it doesn't pretend to be backwards-compatible with C, bit it is ABI-compatible. It has a clean syntax, fast compile times and some interesting concepts borrowed from ruby and python.
Ruby is the scripting language I'll be looking at next. I learned PERL a while back for work, and it is a nightmare, but a very useful one. Ruby is much less of a nightmare and much better than PERL at what PERL was intended (notice I didn't say designed) for.
Whatever language you choose next, pick an interesting one... How about creating your own for a challenge?
Many of us have to use C++ at work, but I'd never choose it for anything of my own. However, I'm lucky in that most of the code I deal with is in Plain Old C. It's a real-time embedded platform. The C parts are readable, maintainable and predictable. The C++ parts are "interesting." The source is a lot more verbose. I'm not sure what it achieves other than slower compile times and bigger object code.
Their (Windows, Macintosh) model didn't win. Everywhere I go the Windows (and Mac) heavyweight, fragile, non-solutions are being replaced by X (on Linux).
People have been telling me that Windows is the future since 1992. Everywhere I go, I see Windows (and other proprietary OSs) being replaced by Linux.
How on earth can you argue with a straight face that Windows has a superior model, especially regarding security, let alone reliability?
Have you ever tried to get a week's work done using Windows Terminal Server Client? I'm not sure just what they meant by "terminal."
The Linux world would benefit greatly from a fast and lightweight display server that has a common codebase for mobile devices and desktops, and can be used as a backend for Android, Meego, KDE and Gnome.
Good god, No!
X doesn't need replacing!
This "X needs replacing" meme keeps getting trotted out once in a while, and each time it doesn't get any more correct.
X is lightweight, Open, free, robust, well understood, cross-platform, ubiquitous and fast. This has been argued to death all over the internet and is evident by X's longevity and the fact that it is easily extended, whilst retaining backwards compatibility, to implement the trendy features of the day.
By all means, please let someone's toy Linux distribution throw away X for some new-fangled mobile-phone compatible junk, but the Linux and unix world in general does not need to throw away two and a half decades of success because of what people have on their mobile phones.
One last piece of useless information: X was designed to run on 1 MIPS machines. That's right, computers without graphics accelerators that could do a measly 1 million instructions per second. Your cheap Dell desktop is 10 000 times as fast, plus the graphics is done in separate hardware.
Typical intel. Instead of using, e.g. a Free implementation" of an Open Standard that is robust and mature, they invent their own proprietary, incompatible one.
The TS-1000 is basically a Sinclair ZX81 with extra RAM (the ZX81 had 1k). It has a Z80 CPU (actually an NEC clone, because that was cheaper).
The Z80 is much nicer to program than the 6502. It has more registers and register pairs for doing 16-bit arithmetic. The two index registers (IX and IY) are 16-bit and so is the stack pointer (SP). The 8-bit accumulator, A, is sometimes paired with F, the flags register. The other register pairs are BC (a 16-bit loop counter), DE, a 16-bit source address register, and HL, the 16-bit accumulator. They can be used for general storage too.
The Z80 has separate IO and data buses, so IO devices don't have to take up space in the memory map.
There are block move and compare instructions (LDIR, CPIR, LDDR, CPDR), bit shifts and rotations, a vectored interrupt mode in addition to the simpler ones...and an alternate register set that can be switched in and out quickly for low-latency interrupt handling (EX AF, AF' and EXX).
The Z80 is binary backwards-compatible with the intel 8080.
The extra registers, 16-bit arithmetic and wide index registers are luxury compared to the 6502. I really can't understand by the 6502 is so revered on slashdot...
Don't be too quick to defend Apple. The real heroes are the GNUstep people who have given us a Free implementation of a lot of the NeXTSTEP/OPENSTEP/Apple stuff to run on whatever platforms we like.
As for the FSF "spreading FUD and outright lies about their own license" - that's just wrong.
RMS and his cohorts have done more to damage the general OSS movement with their radical FOSS brand than MSFT did through SCO.
And that's complete flamebait. RMS and his cohorts have created a Free software ecosystem and provide the vision and leadership that has kept it thriving despite the cynical corporate and political assaults it has been subjected to over the years.
But by demonstrating in court that the law is absurd, you get things noticed and maybe even fixed.
Wouldn't this be more appropriate for Lent, rather than Christmas? I'm not a Christian, but I was educated in their ways as a child in Scotland. It reminds me a lot of the Father Ted episode when they hire the nun for lent...
Thank you. That's exactly the point I was trying to make.
Whenever the RIAA, BPI et. al. accuse someone of "pirating" music, it's very often only a handful of songs performed by some talentless teeny-bop icon or similar mass-market, lowest-common-denominator manufactured trash.
In my very humble opinion, that is. Also, I have up following the pop charts well over 20 years ago which is why I made a tongue-in-cheek attempt to cross the names of two acts.
Hey grandad, don't you listen to the hip hooray on Radio 1?
Noy just any old songs, Miley Vaniley songs!
I must be getting old.
....but who's buying?
Both are pretty dull and should be automated. Real men develop algorithms to play them.
Indeed.
There's quite a simple solution to that problem, really. The ship should self-destruct causing maximum collateral damage when captured by pirates :-) After the first couple of nuclear reactors spew their guts all over the pirates, they'll soon learn their lesson.
So fire up vim and start coding!
PCs were a lot more expensive in real terms in those days than they are now. You had to be pretty rich to afford a 486DX. The sort of people who would have been interested in Linux back then (i.e. university students) would have struggled to afford such a computer. A 386sx was much more affordable.
I had a summer job at a PC dealers in 1992, and I remember setting up many 386sx machines for a large customer. I also remember that Shell had hundreds of 386sx machines running Windows 3.0. I put network cards in many of them, and installed mice.
One customer we went to see had an IBM PC/XT with an 8088 processor and CGA! We went to install a mouse (8-bit ISA slots) but there we no free IRQs.
you use the tools most suited for the job
Indeed.
However, there is a whole wide world of very interesting non-Microsoft systems out there. If you concentrate on learning Microsoft technologies (e.g. the .NET stack and its languages) you will be confined to the Microsoft ecosystem. Don't try to tell me that .NET is portable: for all serious jobs, it is only works on Windows.
When you go to learn a new language or platform, it should be something you enjoy. Unix and especially Linux are the friendliest platforms for developers. The jobs for Linux developers are much better too, far more interesting. Your job should be personally interesting and fulfilling, if at all possible. A substantial part of your life is spent at work. Yes, we must work to pay the bills, but you should try very hard to get a job that gives you personal satisfaction or you are wasting your life.
I think that most people would agree that writing boring old GUI front ends to database applications in a .NET language is not a great way to spend your life.
Since Microsoft is so ubiquitous, and there are large numbers of developers for Microsoft's platforms, you risk becoming one of the interchangeable, cheap programmers.
Having said that, there are interesting languages available for the ,NET CLR, but you're as good as tying yourself to Windows.
There are as good and better languages available for the JVM, which is properly cross-platform. Also, there are many vendors of JVMs to choose from, not just Oracle.
If you are going to learn a new language in your own time, on your own dime, you'd better make it interesting and a bit different, not just another C#, Java, PHP... That's why I suggested Scheme and D. I would have suggested Haskell too, and maybe FORTH, but they are a bit "far out." I haven't tried Haskell myself yet, but a friend has and he loves it.
I haven't used it (thankfully) for 5 years. I still see it called PERL a lot. Heck, most people around here call Java "JAVA".
I'm a C/C++ developer (mainly C) and I enjoy it. I don't enjoy C++, but I'm paid to use it, so use it I do.
I've been dabbling with scheme for fun. It's very different to C, C++ or any of the other languages you mention, but a couple of hours reading about it and playing with it will really open your mind and be a bit of fun.
By ignoring the .NET languages, you are obviously intelligent and discerning; you don't merely want to follow the heard into a boring, run-of-the-mill job. Good for you. 15 years ago I started to learn Linux when everyone was laughing at it (and me for using it) but I'm in a great position now.
The other language I'm about to try is D which was deliberately designed to address many of the shortcomings of C++. It's a lot simpler and much more pragmatic that C++, by the looks of it. For a start, it doesn't pretend to be backwards-compatible with C, bit it is ABI-compatible. It has a clean syntax, fast compile times and some interesting concepts borrowed from ruby and python.
Ruby is the scripting language I'll be looking at next. I learned PERL a while back for work, and it is a nightmare, but a very useful one. Ruby is much less of a nightmare and much better than PERL at what PERL was intended (notice I didn't say designed) for.
Whatever language you choose next, pick an interesting one... How about creating your own for a challenge?
So what do you make of this?
Many of us have to use C++ at work, but I'd never choose it for anything of my own. However, I'm lucky in that most of the code I deal with is in Plain Old C. It's a real-time embedded platform. The C parts are readable, maintainable and predictable. The C++ parts are "interesting." The source is a lot more verbose. I'm not sure what it achieves other than slower compile times and bigger object code.
Java ports to the Java platform.
...but can be compiled to native code using gcj, which is part of gcc.
Yes, on the desktop, but I work in engineering.
I don't have an HDTV in my house and the contents of the drawers are scattered about wildly already, you insensitive clod!
Their (Windows, Macintosh) model didn't win. Everywhere I go the Windows (and Mac) heavyweight, fragile, non-solutions are being replaced by X (on Linux).
People have been telling me that Windows is the future since 1992. Everywhere I go, I see Windows (and other proprietary OSs) being replaced by Linux.
How on earth can you argue with a straight face that Windows has a superior model, especially regarding security, let alone reliability?
Have you ever tried to get a week's work done using Windows Terminal Server Client? I'm not sure just what they meant by "terminal."
The Linux world would benefit greatly from a fast and lightweight display server that has a common codebase for mobile devices and desktops, and can be used as a backend for Android, Meego, KDE and Gnome.
Good god, No!
X doesn't need replacing!
This "X needs replacing" meme keeps getting trotted out once in a while, and each time it doesn't get any more correct.
X is lightweight, Open, free, robust, well understood, cross-platform, ubiquitous and fast. This has been argued to death all over the internet and is evident by X's longevity and the fact that it is easily extended, whilst retaining backwards compatibility, to implement the trendy features of the day.
By all means, please let someone's toy Linux distribution throw away X for some new-fangled mobile-phone compatible junk, but the Linux and unix world in general does not need to throw away two and a half decades of success because of what people have on their mobile phones.
One last piece of useless information: X was designed to run on 1 MIPS machines. That's right, computers without graphics accelerators that could do a measly 1 million instructions per second. Your cheap Dell desktop is 10 000 times as fast, plus the graphics is done in separate hardware.
Typical intel. Instead of using, e.g. a Free implementation" of an Open Standard that is robust and mature, they invent their own proprietary, incompatible one.
The TS-1000 is basically a Sinclair ZX81 with extra RAM (the ZX81 had 1k). It has a Z80 CPU (actually an NEC clone, because that was cheaper).
The Z80 is much nicer to program than the 6502. It has more registers and register pairs for doing 16-bit arithmetic. The two index registers (IX and IY) are 16-bit and so is the stack pointer (SP). The 8-bit accumulator, A, is sometimes paired with F, the flags register. The other register pairs are BC (a 16-bit loop counter), DE, a 16-bit source address register, and HL, the 16-bit accumulator. They can be used for general storage too.
The Z80 has separate IO and data buses, so IO devices don't have to take up space in the memory map.
There are block move and compare instructions (LDIR, CPIR, LDDR, CPDR), bit shifts and rotations, a vectored interrupt mode in addition to the simpler ones...and an alternate register set that can be switched in and out quickly for low-latency interrupt handling (EX AF, AF' and EXX).
The Z80 is binary backwards-compatible with the intel 8080.
The extra registers, 16-bit arithmetic and wide index registers are luxury compared to the 6502. I really can't understand by the 6502 is so revered on slashdot...
This is a hell of a lot easier in Automator than on the command line.
Hmmm... that sounds like a challenge! ... And just to be a bit "outside the box", I think WINGs would be a good GUI toolkit to use :-)
Don't be too quick to defend Apple. The real heroes are the GNUstep people who have given us a Free implementation of a lot of the NeXTSTEP/OPENSTEP/Apple stuff to run on whatever platforms we like.
As for the FSF "spreading FUD and outright lies about their own license" - that's just wrong.
RMS and his cohorts have done more to damage the general OSS movement with their radical FOSS brand than MSFT did through SCO.
And that's complete flamebait. RMS and his cohorts have created a Free software ecosystem and provide the vision and leadership that has kept it thriving despite the cynical corporate and political assaults it has been subjected to over the years.