I do want to be spoiled. Watcom was fantastic. Especially the debugger.
OK. Touche’!
Watcom was SOooooo NICE !
But Watcom is dead or ain’t really going anywhere for now. (sic)
openWatcom is strangling with licensed parts that can’t go public and making
the task even harder (sic). =\
I’m really getting sick of g++ and gdb.
BTW, QNX 6.1 is REALLY BAD!!!
Nothing that worked before doesn’t work at all !
It was VERY unprofessional from QSSL to retired 6.0c from distribution,
when such package is working well; more than that,
when 6.1 has major compiler/development “bugs”.
Core OS great. But the Linux obsession is a nightmare. Especially
administration; why can’t it be simple, as in QNX4 ?
Boy, I’m glad someone besides me finally put that one into words. I hate
Linux almost as much as i hate Microsoft. And yes, Neutrino has done
some
things VERY, VERY right! But QNX4 is much easier to use.
An opinion I share, but I often asked myself: is my opinion bias by all
those years working with QNX4. For someone starting from scratch is QNX4
really that easier?
Correct me folks, if you don’t agree ?!
but this is what I think:
Objectively:
Positive:
-
QNX6.0c has a better looking, POSIX compatible, support well templates
-
QNX4.25 is faster, better, smaller, more reliable, as a great editor, as a
great compiler.
The GUI (screen drivers) were excellent on any computer including old 486
and Pentium,
with a very low quantity of RAM.
-
Some QNX4 API were easier, some QNX6 API are harder but more complete or
compliant…
Some QNX6 API stuff are also easier than QNX4 due to POSIX standard.
Negative:
-
QNX6.0c is slower, create huge executable, is VERY slow in GUI mode for
old Pentium computers,
is slower to compiles, impossible to install directly on embedded
systems, has bad tendency to hang up
at boot time and during transfer to a target (flashing a target).
-
QNX4.25 had some tendancy to hang up Watcom C++ if used extensively by a
lot of people.
It had thread-safe problem and related problems.
Expectation from QNX6:
==================
ALL THE ADVANTAGE OF QNX4:
- In term of speed (execution, compiling, GUI)
- In term of space (footprint, executable size)
- In term of easy to install, run, learn, deploy, etc.
PLUS POSIX Standard
PLUS New C++ features, that don’t affect C or C++ code not using it.
PLUS better looking GUI
PLUS more functionalities
I can provide examples and cases for any of these statements, if anybody
wants to read them !?
I mainly code in Embedded Low-tech Structured C/C++
{ No exception, No STL, No namespace, private data of class are stored in
struct (to use memset, memcpy, memcmp),
40% of all functions are inlined and less than 3 lines due to that. }
General Example:
/***************************************************************************
*************************/
typedef struct _myObject_t
{
myLogic_t logic; // Other structs for efficiency and organization
myStatus_t status;
// … other private members …
} myObject_t;
class myObject
{
private:
myObject_t data;
public:
class myObject
{
private:
myObject_t data;
public:
inline myObject()
{
memset( &data, 0, sizeof( myObject_t ) );
}
inline clear()
{
memset( &data, 0, sizeof( myObject_t ) );
}
inline myObject( myObject_t src )
{
memcpy( &data, &src, sizeof( myObject_t ) );
}
inline myObject( const myObject& src )
{
memcpy( &data, &src.data, sizeof( myObject_t ) );
}
inline const myObject& operator=( const myObject& src )
{
memcpy( &data, &src.data, sizeof( myObject_t ) );
return *this;
}
inline const myObject& operator=( myObject_t src )
{
memcpy( &data, &src, sizeof( myObject_t ) );
return *this;
}
inline ~myObject() { }
// … other code…
};
};
/***************************************************************************
*************************/
Sincerely yours,
Fred.