Linux-Advocacy Digest #601, Volume #33 Sat, 14 Apr 01 07:13:05 EDT
Contents:
Re: A mentality problem of linux programmer. (David Dorward)
Re: To Eric FunkenBush ("Erik Funkenbusch")
Re: hmm getting tired of this! (Matthew Gardiner)
Re: hmm getting tired of this! (Matthew Gardiner)
Re: Communism ("billh")
Re: Linux = CHOICE! (Matthew Gardiner)
Re: So much for modules in Linux! (Matthew Gardiner)
Re: OT: Treason (was Re: Communism) ("billh")
Re: Blame it all on Microsoft (Donn Miller)
Re: Something cool in gcc (mlw)
Re: So much for modules in Linux! (Matthew Gardiner)
Re: Something cool in gcc (mlw)
Re: Blame it all on Microsoft (Donn Miller)
----------------------------------------------------------------------------
From: David Dorward <[EMAIL PROTECTED]>
Subject: Re: A mentality problem of linux programmer.
Date: Sat, 14 Apr 2001 11:15:01 +0100
JLI wrote:
> When someone complained in this group that something is too
> difficult to do in Unix, the answer is mostly like "you are too dump",
> or "this guy is paid by Microsoft". This indicates a foundament
> mentality problem of linux programmer. Here is another example
> I encountered recently in our company.
In my experience the first responce is usually caused by:
* Asking the question in the wrong place (e.g. col.advocacy instead of
col.help)
* Ignoring answers received and repeating the question
* Ignoring the FAQ (although people still usually give an answer)
The second is most often a responce to:
* People complaining that they can't do something (as opposed to asking how
to do something)
* Posting FUD
* Otherwise putting Linux down on trivial matters (that are usually being
fixed / otherwise improving already)
--
David Dorward http://www.dorward.co.uk/
The only way to keep your health is to eat what you don't want, drink
what you don't like, and do what you'd rather not. -- Mark Twain
------------------------------
From: "Erik Funkenbusch" <[EMAIL PROTECTED]>
Subject: Re: To Eric FunkenBush
Date: Sat, 14 Apr 2001 05:28:10 -0500
Hmm.. Do you have SP5 installed? They may have fixed the friend/namespace
bug in SP5, I'm still running on SP4 so I don't know for sure.
"Kelsey Bjarnason" <[EMAIL PROTECTED]> wrote in message
news:MtUB6.2150$[EMAIL PROTECTED]...
> Assuming the code at the bottom is unmodifed from the one causing
> problems...
>
> (created project test.junk, added all the files to it, hit F7 and...)
>
> --------------------Configuration: junk - Win32 Debug--------------------
> Compiling...
> workmi.cpp
> strng2.cpp
> workermi.cpp
> Linking...
>
> junk.exe - 0 error(s), 0 warning(s)
>
> "JLI" <[EMAIL PROTECTED]> wrote in message
> news:LjOB6.8860$[EMAIL PROTECTED]...
> > You should at least say where in your source code caused the error
instead
> > of letting
> > other people to read through your 5 or 6 files. This way you can save
some
> > time.
> >
> >
> >
> > JLI
> >
> > GreyCloud <[EMAIL PROTECTED]> wrote in message
> >
news:[EMAIL PROTECTED]...
> > > I've found the programs in the book "C++ Primer Plus" by Stephen
Prata.
> > >
> > > See attached source code.
> > >
> > > Under VC++6.0 7 errors were reported as C2448. The variable str could
> > > not access a private part in a class.
> > >
> > > Under g++ the program compiled fine. The program runs fine.
> > > I'm using 2.95.2 version of Gnu C.
> > >
> > > I used "g++ -o workmi workmi.cpp workermi.cpp strng2.cpp"
> > >
> > > It appears that VC++ can not handle the code properly. After all this
> > > program did come from a the MITCHELL WAITE Series.
> >
> >
>
> --------------------------------------------------------------------------
> --
> > ----
> >
> >
> > > file://arraytp.h -- Array Template
> > > #include <iostream>
> > > using namespace std;
> > > #include <cstdlib>
> > >
> > > template <class T, int n>
> > > class ArrayTP
> > > {
> > > private:
> > > T ar[n];
> > > public:
> > > ArrayTP();
> > > explicit ArrayTP(const T & v);
> > > virtual T & operator[](int i);
> > > virtual const T & operator[](int i) const;
> > > };
> > >
> > > template <class T, int n>
> > > ArrayTP<T,n>::ArrayTP()
> > > {
> > > for (int i = 0; i < n; i++)
> > > ar[i] = 0;
> > > }
> > >
> > > template <class T, int n>
> > > ArrayTP<T,n>::ArrayTP(const T & v)
> > > {
> > > for (int i = 0; i < n; i++)
> > > ar[i] = v;
> > > }
> > >
> > > template <class T, int n>
> > > T & ArrayTP<T,n>::operator[](int i)
> > > {
> > > if (i < 0 || i >= n)
> > > {
> > > cerr << "Error in array limits: " << i
> > > << " is out of range\n";
> > > exit(1);
> > > }
> > > return ar[i];
> > > }
> > >
> > > template <class T, int n>
> > > const T & ArrayTP<T,n>::operator[](int i) const
> > > {
> > > if (i < 0 || i >= n)
> > > {
> > > cerr << "Error in array limits: " << i
> > > << " is out of range\n";
> > > exit(1);
> > > }
> > > return ar[i];
> > > }
> > >
> >
> >
>
> --------------------------------------------------------------------------
> --
> > ----
> >
> >
> > > // strng2.cpp -- String class methods
> > > #include <iostream>
> > > #include <cstring>
> > > using namespace std;
> > > #include "strng2.h"
> > >
> > > // class methods
> > >
> > > String::String(const char * s) // make String from C string
> > > {
> > > len = strlen(s);
> > > str = new char[len + 1]; // allot storage
> > > strcpy(str, s); // initialize pointer
> > > }
> > >
> > > String::String() // default constructor
> > > {
> > > len = 0;
> > > str = new char[1];
> > > str[0] = '\0'; // default string
> > > }
> > >
> > > String::String(const String & st) // copy constructor
> > > {
> > > len = st.len;
> > > str = new char[len + 1];
> > > strcpy(str, st.str);
> > > }
> > >
> > > String::~String() // destructor
> > > {
> > > delete [] str; // required
> > > }
> > >
> > > // assign a String to a String
> > > String & String::operator=(const String & st)
> > > {
> > > if (this == &st)
> > > return *this;
> > > delete [] str;
> > > len = st.len;
> > > str = new char[len + 1];
> > > strcpy(str, st.str);
> > > return *this;
> > > }
> > >
> > > // assign a C string to a String
> > > String & String::operator=(const char * s)
> > > {
> > > delete [] str;
> > > len = strlen(s);
> > > str = new char[len + 1];
> > > strcpy(str, s);
> > > return *this;
> > > }
> > >
> > > // true if st1 follows st2 in collating sequence
> > > bool operator>(const String &st1, const String &st2)
> > > {
> > > if (strcmp(st1.str, st2.str) > 0)
> > > return true;
> > > else
> > > return false;
> > > }
> > >
> > > // true if st1 precedes st2 in collating sequence
> > > bool operator<(const String &st1, const String &st2)
> > > {
> > > if (strcmp(st1.str, st2.str) < 0)
> > > return true;
> > > else
> > > return false;
> > > }
> > >
> > > // friends
> > > // true if st1 is the same as st2
> > > bool operator==(const String &st1, const String &st2)
> > > {
> > > if (strcmp(st1.str, st2.str) == 0)
> > > return true;
> > > else
> > > return false;
> > > }
> > >
> > > // display string
> > > ostream & operator<<(ostream & os, const String & st)
> > > {
> > > os << st.str;
> > > return os;
> > > }
> > >
> > > // quick and dirty String input
> > > istream & operator>>(istream & is, String & st)
> > > {
> > > char temp[80];
> > > is.get(temp, 80);
> > > if (is)
> > > st = temp;
> > > while (is && is.get() != '\n')
> > > continue;
> > > return is;
> > > }
> > >
> >
> >
>
> --------------------------------------------------------------------------
> --
> > ----
> >
> >
> > > // strng2.h -- String class definition
> > > #ifndef _STRNG2_H_
> > > #define _STRNG2_H_
> > > #include <iostream>
> > > using namespace std;
> > >
> > > class String
> > > {
> > > private:
> > > char * str; // pointer to string
> > > int len; // length of string
> > > public:
> > > String(const char * s); // constructor
> > > String(); // default constructor
> > > String(const String & st);
> > > ~String(); // destructor
> > > int length() const { return len; }
> > > // overloaded operators
> > > String & operator=(const String & st); // Assignment operator
> > > String & operator=(const char * s); // Assignment operator #2
> > > // friend functions
> > > friend bool operator>(const String &st1, const String &st2);
> > > friend bool operator<(const String &st, const String &st2);
> > > friend bool operator==(const String &st, const String &st2);
> > > friend ostream & operator<<(ostream & os, const String & st);
> > > friend istream & operator>>(istream & is, String & st);
> > > };
> > > #endif
> > >
> >
> >
>
> --------------------------------------------------------------------------
> --
> > ----
> >
> >
> > > // workermi.cpp -- working class methods with MI
> > > #include "workermi.h"
> > > #include <iostream>
> > > using namespace std;
> > > // Worker methods
> > > Worker::~Worker() { }
> > >
> > > // protected methods
> > > void Worker::Data() const
> > > {
> > > cout << "Name: " << fullname << "\n";
> > > cout << "Employee ID: " << id << "\n";
> > > }
> > >
> > > void Worker::Get()
> > > {
> > > cin >> fullname;
> > > cout << "Enter worker's ID: ";
> > > cin >> id;
> > > while (cin.get() != '\n')
> > > continue;
> > > }
> > >
> > > // Waiter methods
> > > void Waiter::Set()
> > > {
> > > cout << "Enter waiter's name: ";
> > > Worker::Get();
> > > Get();
> > > }
> > >
> > > void Waiter::Show() const
> > > {
> > > cout << "Category: waiter\n";
> > > Worker::Data();
> > > Data();
> > > }
> > >
> > > // protected methods
> > > void Waiter::Data() const
> > > {
> > > cout << "Panache rating: " << panache << "\n";
> > > }
> > >
> > > void Waiter::Get()
> > > {
> > > cout << "Enter waiter's panache rating: ";
> > > cin >> panache;
> > > while (cin.get() != '\n')
> > > continue;
> > > }
> > >
> > > // Singer methods
> > >
> > > char * Singer::pv[Singer::Vtypes] = {"other", "alto", "contralto",
> > > "soprano", "bass", "baritone", "tenor"};
> > >
> > > void Singer::Set()
> > > {
> > > cout << "Enter singer's name: ";
> > > Worker::Get();
> > > Get();
> > > }
> > >
> > > void Singer::Show() const
> > > {
> > > cout << "Category: singer\n";
> > > Worker::Data();
> > > Data();
> > > }
> > >
> > > // protected methods
> > > void Singer::Data() const
> > > {
> > > cout << "Vocal range: " << pv[voice] << "\n";
> > > }
> > >
> > > void Singer::Get()
> > > {
> > > cout << "Enter number for singer's vocal range:\n";
> > > int i;
> > > for (i = 0; i < Vtypes; i++)
> > > {
> > > cout << i << ": " << pv[i] << " ";
> > > if (i % 4 == 3)
> > > cout << '\n';
> > > }
> > > if (i % 4 != 0)
> > > cout << '\n';
> > > cin >> voice;
> > > while (cin.get() != '\n')
> > > continue;
> > > }
> > >
> > > // SingingWaiter methods
> > > void SingingWaiter::Data() const
> > > {
> > > Singer::Data();
> > > Waiter::Data();
> > > }
> > >
> > > void SingingWaiter::Get()
> > > {
> > > Waiter::Get();
> > > Singer::Get();
> > > }
> > >
> > > void SingingWaiter::Set()
> > > {
> > > cout << "Enter singing waiter's name: ";
> > > Worker::Get();
> > > Get();
> > > }
> > >
> > > void SingingWaiter::Show() const
> > > {
> > > cout << "Category: singing waiter\n";
> > > Worker::Data();
> > > Data();
> > > }
> > >
> >
> >
>
> --------------------------------------------------------------------------
> --
> > ----
> >
> >
> > > // workermi.h -- working classes with MI
> > > #include "strng2.h"
> > >
> > > class Worker // an abstract base class
> > > {
> > > private:
> > > String fullname;
> > > long id;
> > > protected:
> > > virtual void Data() const;
> > > virtual void Get();
> > > public:
> > > Worker() : fullname("no one"), id(0L) {}
> > > Worker(const String & s, long n)
> > > : fullname(s), id(n) {}
> > > virtual ~Worker() = 0; // pure virtual function
> > > virtual void Set() = 0;
> > > virtual void Show() const = 0;
> > > };
> > >
> > > class Waiter : virtual public Worker
> > > {
> > > private:
> > > int panache;
> > > protected:
> > > void Data() const;
> > > void Get();
> > > public:
> > > Waiter() : Worker(), panache(0) {}
> > > Waiter(const String & s, long n, int p = 0)
> > > : Worker(s, n), panache(p) {}
> > > Waiter(const Worker & wk, int p = 0)
> > > : Worker(wk), panache(p) {}
> > > void Set();
> > > void Show() const;
> > > };
> > >
> > > class Singer : virtual public Worker
> > > {
> > > protected:
> > > enum {other, alto, contralto, soprano,
> > > bass, baritone, tenor};
> > > enum {Vtypes = 7};
> > > void Data() const;
> > > void Get();
> > > private:
> > > static char *pv[Vtypes]; // string equivs of voice types
> > > int voice;
> > > public:
> > > Singer() : Worker(), voice(other) {}
> > > Singer(const String & s, long n, int v = other)
> > > : Worker(s, n), voice(v) {}
> > > Singer(const Worker & wk, int v = other)
> > > : Worker(wk), voice(v) {}
> > > void Set();
> > > void Show() const;
> > > };
> > >
> > > // multiple inheritance
> > > class SingingWaiter : public Singer, public Waiter
> > > {
> > > protected:
> > > void Data() const;
> > > void Get();
> > > public:
> > > SingingWaiter() {}
> > > SingingWaiter(const String & s, long n, int p = 0,
> > > int v = Singer::other)
> > > : Worker(s,n), Waiter(s, n, p), Singer(s, n, v) {}
> > > SingingWaiter(const Worker & wk, int p = 0, int v = Singer::other)
> > > : Worker(wk), Waiter(wk,p), Singer(wk,v) {}
> > > SingingWaiter(const Waiter & wt, int v = other)
> > > : Worker(wt),Waiter(wt), Singer(wt,v) {}
> > > SingingWaiter(const Singer & wt, int p = 0)
> > > : Worker(wt),Waiter(wt,p), Singer(wt) {}
> > > void Set();
> > > void Show() const;
> > > };
> > >
> >
> >
>
> --------------------------------------------------------------------------
> --
> > ----
> >
> >
> > > // workmi.cpp -- multiple inheritance
> > > // compile with workermi.cpp, strng2.cpp
> > > #include <iostream>
> > > using namespace std;
> > > #include <cstring>
> > > #include "workermi.h"
> > > #include "arraytp.h" // omit if no template support
> > > const int SIZE = 5;
> > >
> > > int main()
> > > {
> > > ArrayTP<Worker *, SIZE> lolas;
> > > // if no template support, omit the above and use the following:
> > > // Worker * lolas[SIZE];
> > >
> > > int ct;
> > > for (ct = 0; ct < SIZE; ct++)
> > > {
> > > char choice;
> > > cout << "Enter the employee category:\n"
> > > << "w: waiter s: singer "
> > > << "t: singing waiter q: quit\n";
> > > cin >> choice;
> > > while (strchr("ewstq", choice) == NULL)
> > > {
> > > cout << "Please enter a, w, s, t, or q: ";
> > > cin >> choice;
> > > }
> > > if (choice == 'q')
> > > break;
> > > switch(choice)
> > > {
> > > case 'w': lolas[ct] = new Waiter;
> > > break;
> > > case 's': lolas[ct] = new Singer;
> > > break;
> > > case 't': lolas[ct] = new SingingWaiter;
> > > break;
> > > }
> > > cin.get();
> > > lolas[ct]->Set();
> > > }
> > >
> > > cout << "\nHere is your staff:\n";
> > > int i;
> > >
> > > for (i = 0; i < ct; i++)
> > > {
> > > cout << '\n';
> > > lolas[i]->Show();
> > > }
> > > for (i = 0; i < ct; i++)
> > > delete lolas[i];
> > > return 0;
> > > }
> > >
> >
> >
>
>
------------------------------
From: Matthew Gardiner <[EMAIL PROTECTED]>
Subject: Re: hmm getting tired of this!
Date: Sat, 14 Apr 2001 22:47:27 +1200
So, in otherwords, they over employeed and they first set up in the US,
now they are just rationalising there business. Hmm, so, Microsofties
have no basis of using SuSE as the "Linux Failure Poster Child".
Matthew Gardiner
Chad Everett wrote:
>
> On Sat, 14 Apr 2001 13:44:41 +1200, Matthew Gardiner <[EMAIL PROTECTED]> wrote:
> >Or a George dwebya Bush put it, "so what about global warming! if it
> >gets a little hot, I'll just open a window". Most people in NZ drive
> >Japanese cars like Nissans and Mazdas that run on the smell of an oily
> >rag. Two alternative fuels that should be considered are LPG and CNG.
> >Both of them only give off Carbon Dioxide, and are in pletiful supply.
> >Also, removing oil heating in housing would reduce emissions. Geeze, I
> >don't know one person in NZ who uses oil heating, most use either
> >electricity or Natural Gas.
> >
> >Back to the topic, SuSE in the US. Why did it fail in the US? is it
> >because it is made by this mysterious company in this mystical place
> >called, "Overseas"?
> >
>
> SuSE has hardly failed in the US. By last accounting they are the best
> selling retail linux distribution in the US for the first quarter
> 2001. The certainly did layoff their US service personnel, but that
> can hardly qualify as failing in the US. IBM and Oracle are have
> formed strategic alliances with SuSE too.
>
> >Matthew Gardiner
> >
> >GreyCloud wrote:
> >>
> >> Matthew Gardiner wrote:
> >> >
> >> > Pete Goodwin wrote:
> >> > >
> >> > > Matthew Gardiner wrote:
> >> > >
> >> > > > SuSE Makes money
> >> > >
> >> > > They had to lay off some workers in the USA though.
> >> > >
> >> > > --
> >> > > Pete
> >> > > Running on SuSE 7.1, Linux 2.4, KDE 2.1
> >> > > Kylix: the way to go!
> >> >
> >> > US consumers are not normal consumers. They still insist on buying cars
> >> > that are the size of tanks, and consume so much fuel a small island
> >> > nation could last a week on it. General Electric, hello? most people
> >> > outside the US wouldn't know who the fuck they are? I would be lucky to
> >> > see atleast one item on the self made by General Electric in New
> >> > Zealand. Hence, unless, you are a US company, based in the US, you have
> >> > bugger all chances of getting market share.
> >> >
> >> > Matthew Gardiner
> >> >
> >> > --
> >> > I am the resident BOFH (Bastard Operater from Hell)
> >> >
> >> > If you donot like it go [#rm -rf /home/luser] yourself
> >>
> >> Around here you have to have a tank. :-) Most of the fuel costs are in
> >> the taxes, not the fuel. As one rich Arab in Saudi Arabia put it,..
> >> don't blame us for the high prices of gas, blame your government. There
> >> water costs more than gas.
> >> Electric Cars won't work in this country... the power grid couldn't
> >> support all the recharges. Not much power left. Sometimes it feels
> >> like the whole world has gone to hell in a handbasket.
> >>
> >> --
> >> V
> >
> >--
> >I am the resident BOFH (Bastard Operater from Hell)
> >
> >If you donot like it go [#rm -rf /home/luser] yourself
--
I am the resident BOFH (Bastard Operater from Hell)
If you donot like it go [#rm -rf /home/luser] yourself
------------------------------
From: Matthew Gardiner <[EMAIL PROTECTED]>
Subject: Re: hmm getting tired of this!
Date: Sat, 14 Apr 2001 22:50:59 +1200
<snype>
Personally, I thing the lizard is pretty funky. All they have to do is
jazz up the logo a little so it it more cartoony. They also need to
advertise in mainstream print as well as Computer mags, as most new
users don't start reading mags until they really know what they could do
with a computer, this will allow SuSE to establish a presence in the
"mainstream" market.
Matthew Gardiner
--
I am the resident BOFH (Bastard Operater from Hell)
If you donot like it go [#rm -rf /home/luser] yourself
------------------------------
From: "billh" <[EMAIL PROTECTED]>
Crossposted-To: alt.destroy.microsoft,us.military.army,soc.singles
Subject: Re: Communism
Date: Sat, 14 Apr 2001 10:53:11 GMT
"Aaron R. Kulkis"
>
> translation: bill doesn't know anything.
I know enough. I know you are a "war-hero" wannabe that lies about his
accomplishments and awards in the US Army. As far as you are concerned,
that's all the knowledge anyone needs, KuKuNut.
------------------------------
From: Matthew Gardiner <[EMAIL PROTECTED]>
Crossposted-To: soc.singles
Subject: Re: Linux = CHOICE!
Date: Sat, 14 Apr 2001 22:55:21 +1200
<snype>
True, and isn't it great when a distro makes a really fucking awful
distro you have the opportunity to goto another vendor, and you can keep
changing until you find one that suites your needs. Hmm, I wonder if
the Wintel clan can do that, NOPE!
Matthew Gardiner
--
I am the resident BOFH (Bastard Operater from Hell)
If you donot like it go [#rm -rf /home/luser] yourself
------------------------------
From: Matthew Gardiner <[EMAIL PROTECTED]>
Subject: Re: So much for modules in Linux!
Date: Sat, 14 Apr 2001 22:58:50 +1200
Well, Dick Smiths (Aussies will know this shop) has Mandrake, Quay
Computers has Mandrake, SuSE, Redhat and numerous other linus titles,
whats best, if you are a newbie, I can promise you that there will
always be a Linux guru in Quay Computers. Most people I know order
linux through an online ordering company, as by the time you know what
linux and its potential, you would have already made online purchases.
Matthew Gardiner
Tom Wilson wrote:
>
> "Pete Goodwin" <[EMAIL PROTECTED]> wrote in message
> news:d%RB6.16566$[EMAIL PROTECTED]...
> > Matthew Gardiner wrote:
> >
> > > Well, hopefully this development will finally make developers realise
> > > that there is potential in Linux instead of dismissing it as some fad,
> > > mind you, something that has lasted 10 years I would not consider a
> > > fad. As a side note, I find it rather funny that developers bitch and
> > > moan because of the lack of gaming API's when they totally over look
> > > OpenGL, and its audio equivilant, OpenAL. There is also sdl used by
> > > lokigames to help them port many of the DirectX based games to linux. I
> > > am sure there are many other API's out there for Linux, so, as a matter
> > > of fact, they not only have a gaming API, but a selection, so that, if
> > > API "X" doesn't suite the job, then they can use one that does.
> >
> > There is potential but...
> >
> > Being technologically better or more stable or (pick your favourite
> > attribute here) is irrelevant as to whether you will succeed or not.
> >
> > It's all about marketing. It's not about technology. Microsoft has the
> > muscle to make Windows succeed and is doing that rather successfully.
> Linux
> > has no such muscle. And guess what, Linux is hardly anywhere on the
> desktop.
> >
> > > As for SuSE Linux. I have SuSE Linux 7.1 running, and compared to
> > > Redhat, SuSE is awsome. Hence, the reason I donot understand why SuSE
> > > has not made bigger inroads into the US market. About the only bone I
> > > have to pick with SuSE is the number of duplicate packages, such as
> > > having three Java Virtual Machines, when one would be adequate.
> >
> > Sadly, it's probably not making such big inroads because it's not
> American.
>
> It's availability on store shelves, or lack thereof, was the big problem.
> The "Buy American" thing is a non-issue since everything on store shelves in
> made in China anyway<g>. As previously mentioned, SuSE is starting to catch
> on. Good thing too! Beats Red Hat handily.
>
> --
> Tom Wilson
--
I am the resident BOFH (Bastard Operater from Hell)
If you donot like it go [#rm -rf /home/luser] yourself
------------------------------
From: "billh" <[EMAIL PROTECTED]>
Crossposted-To: alt.destroy.microsoft,us.military.army,soc.singles
Subject: Re: OT: Treason (was Re: Communism)
Date: Sat, 14 Apr 2001 10:58:52 GMT
"T. Max Devlin"
> Obviously, everyone whom the Israelites killed. If they killed nobody,
> I am not sure why you claimed that they had. Nevertheless, your claim
> that Thou Shalt Not Kill is provided in the Bible or in the faith with
> some special "out" which absolves killing in war seems entirely
> unsupported.
Seems?
------------------------------
Date: Sat, 14 Apr 2001 07:00:24 -0400
From: Donn Miller <[EMAIL PROTECTED]>
Subject: Re: Blame it all on Microsoft
Erik Funkenbusch wrote:
> Are you going to deny what I said? Tell me specifically how you split an
> edit window? Tell me specifically how you manage 20 open windows on your
> screen easily?
Why, with XEmacs or Vim, of course. Only amateur programmers dick with
those stupid proprietary IDE's anyways.
[removed irrelevant NG's]
====== Posted via Newsfeeds.Com, Uncensored Usenet News ======
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
======= Over 80,000 Newsgroups = 16 Different Servers! ======
------------------------------
From: mlw <[EMAIL PROTECTED]>
Subject: Re: Something cool in gcc
Date: Sat, 14 Apr 2001 07:07:48 -0400
Erik Funkenbusch wrote:
> Why don't you instead, write standard C++ like this:
>
> const int len = strlen(string)+1;
> char var[len];
>
> Much easier and fully standard conforming.
Are you kidding?
If "string" is a variable, "len" can't be a constant.
--
I'm not offering myself as an example; every life evolves by its own laws.
========================
http://www.mohawksoft.com
------------------------------
From: Matthew Gardiner <[EMAIL PROTECTED]>
Subject: Re: So much for modules in Linux!
Date: Sat, 14 Apr 2001 23:04:20 +1200
Thats the US. NZ, most computer stores have ATLEAST one distro being
sold. Also, in the book stores, they sell software too, such as
Dymocks, Benettes, Books and More (a subsidery of NZ Post), Paper Plus,
London Book Shops. Also, many of these computer shops will answer any
queries you have regarding how to install linux, or how to do this or
that.
Matthew Gardiner
Tom Wilson wrote:
>
> "Matthew Gardiner" <[EMAIL PROTECTED]> wrote in message
> news:[EMAIL PROTECTED]...
> > Well, hopefully this development will finally make developers realise
> > that there is potential in Linux instead of dismissing it as some fad,
> > mind you, something that has lasted 10 years I would not consider a
> > fad. As a side note, I find it rather funny that developers bitch and
> > moan because of the lack of gaming API's when they totally over look
> > OpenGL, and its audio equivilant, OpenAL. There is also sdl used by
> > lokigames to help them port many of the DirectX based games to linux. I
> > am sure there are many other API's out there for Linux, so, as a matter
> > of fact, they not only have a gaming API, but a selection, so that, if
> > API "X" doesn't suite the job, then they can use one that does.
> >
> > As for SuSE Linux. I have SuSE Linux 7.1 running, and compared to
> > Redhat, SuSE is awsome. Hence, the reason I donot understand why SuSE
> > has not made bigger inroads into the US market.
>
> It's absence on store shelves had a lot to do with it, I'm sure. That's
> changing though. I picked up mine from OfficeMax a while back. (And, without
> a doubt, Red Hat could take some lessons from them. Fantastic distro!)
>
> --
> Tom Wilson
--
I am the resident BOFH (Bastard Operater from Hell)
If you donot like it go [#rm -rf /home/luser] yourself
------------------------------
From: mlw <[EMAIL PROTECTED]>
Subject: Re: Something cool in gcc
Date: Sat, 14 Apr 2001 07:11:51 -0400
Erik Funkenbusch wrote:
> You think it's cool that a compiler violates the C++ standard without even a
> warning? What if you're trying to write compliant code?
The feature is cool because it can be recognized and used in a controlled way.
It can make code much more efficient and robust. It is a very good feature of
GCC if used correctly.
>
> In any event, I think this may be an optimization. C++ allows you to use
> constant variables as array declarations, since you're not changing the
> value of cb, it is probably optimizing it to a const value.
"constant variables" are not variable, they are constant and thus do not do
what you think they do. For instance:
const int len = strlen(string)+1;
will not compile, because len is constant.
--
I'm not offering myself as an example; every life evolves by its own laws.
========================
http://www.mohawksoft.com
------------------------------
Date: Sat, 14 Apr 2001 07:07:15 -0400
From: Donn Miller <[EMAIL PROTECTED]>
Crossposted-To: comp.theory,comp.arch,comp.object
Subject: Re: Blame it all on Microsoft
Jonas wrote:
> OWL stinks.
Yep, I agree. If I were to program on Windoze, I'd most likely want to
create my own (simple :) class libraries, or use something that I can
also use on unix, such as Qt. I would port Qt Free Edition to Windows
using Cygwin's gcc before I would use OWL. I did not like OWL at all.
There's also a Windoze port of GTk; that would be another likely
candidate for my choice in Windows toolkit. OWL really freaked me out.
====== Posted via Newsfeeds.Com, Uncensored Usenet News ======
http://www.newsfeeds.com - The #1 Newsgroup Service in the World!
======= Over 80,000 Newsgroups = 16 Different Servers! ======
------------------------------
** FOR YOUR REFERENCE **
The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:
Internet: [EMAIL PROTECTED]
You can send mail to the entire list by posting to comp.os.linux.advocacy.
Linux may be obtained via one of these FTP sites:
ftp.funet.fi pub/Linux
tsx-11.mit.edu pub/linux
sunsite.unc.edu pub/Linux
End of Linux-Advocacy Digest
******************************