[OT] Grumble...

  • Thread starter Alf P. Steinbach /Usenet
  • Start date
J

James Kanze

* James Kanze, on 04.08.2010 16:19:
On 08/ 4/10 06:41 AM, Balog Pal wrote:
[...]
My other pain is debugger -- is the world really stuck with gdb?
Most Linux devs are happy with it.
I never cared much for it, but now that I have to use Visual
Studios... The Microsoft debugger has to be the worst I've seen
to date.
How so? It's about the best there is.

Except that it doesn't offer anyway of seeing most of the
information you need. In my experience, it almost always shows
the value when you want the address, and vice versa.
Until recently gdb couldn't even trace into constructors,

Where "recently" means some time before 1992. I've never had
any problem tracing into destructors with it.
and it's generally erratic,

This was a problem for a long time; as soon as they'd get it
working with some version of g++, g++ would change something
which would break it again. It's not been a problem recently,
however.
while MS' debugger is dependable.

Sort of. As long as you compile in the default debug mode.
A number of the problems I've had to debug didn't appear in the
debug mode.
[...]
There is a different mindset amongst Unix/Linux developers and
windows developers which does make the transition form one
environment to the other difficult.
From experience, however: the Unix developers I know who work
under Windows generally have CygWin installed. And are
considerably more productive than the expert Windows developers.
Most Windows developers have *nix tools installed, including
a *nix shell.
CygWin has it all in one package but isn't very good (really).

It's improved a lot recently. It could be better, but it's
quite usable.
 
A

Alf P. Steinbach /Usenet

* James Kanze, on 04.08.2010 20:07:
* James Kanze, on 04.08.2010 16:19:
On 08/ 4/10 06:41 AM, Balog Pal wrote:
[...]
My other pain is debugger -- is the world really stuck with gdb?
Most Linux devs are happy with it.
I never cared much for it, but now that I have to use Visual
Studios... The Microsoft debugger has to be the worst I've seen
to date.
How so? It's about the best there is.

Except that it doesn't offer anyway of seeing most of the
information you need. In my experience, it almost always shows
the value when you want the address, and vice versa.

Hm, I've almost never had any problem showing the information I want. Generally
it displays both address and value. Click around, be aware that you can simply
write a cast expression (in a watch)... ;-)

The one time I did have a problem was with a template expression defined in a
file it didn't acknowledge the existence of.

I solved by adding a typedef in the code and recompiling, it was a snap.

Where "recently" means some time before 1992. I've never had
any problem tracing into destructors with it.

Constructors. Let's say 1998.

This was a problem for a long time; as soon as they'd get it
working with some version of g++, g++ would change something
which would break it again. It's not been a problem recently,
however.

Good to hear.

Sort of. As long as you compile in the default debug mode.
A number of the problems I've had to debug didn't appear in the
debug mode.

Not the debugger's fault. More like MS libraries and coding practices. There
was, in the old days, their infamous MFC redefinition of 'new' as a macro
invoking placement new, with no corresponding placement delete. Resulting in
mysterious memory leaks in debug builds... But, no fault of the debugger.


Cheers,

- Alf
 
A

Alf P. Steinbach /Usenet

* Alf P. Steinbach /Usenet, on 04.08.2010 20:22:
* James Kanze, on 04.08.2010 20:07:
* James Kanze, on 04.08.2010 16:19:
On 08/ 4/10 06:41 AM, Balog Pal wrote:
[...]
My other pain is debugger -- is the world really stuck with gdb?
Most Linux devs are happy with it.
I never cared much for it, but now that I have to use Visual
Studios... The Microsoft debugger has to be the worst I've seen
to date.
How so? It's about the best there is.

Except that it doesn't offer anyway of seeing most of the
information you need. In my experience, it almost always shows
the value when you want the address, and vice versa.

Hm, I've almost never had any problem showing the information I want.
Generally it displays both address and value. Click around, be aware
that you can simply write a cast expression (in a watch)... ;-)

The one time I did have a problem was with a template expression defined
in a file it didn't acknowledge the existence of.

I solved by adding a typedef in the code and recompiling, it was a snap.

Where "recently" means some time before 1992. I've never had
any problem tracing into destructors with it.

Constructors. Let's say 1998.

I meant, 2008.

:)
 
Ö

Öö Tiib

* Alf P. Steinbach /Usenet, on 04.08.2010 20:22:


I meant, 2008.

:)

Yes, but generally MS has gone gradually worse after 1998 with its C++
stuff (only compiler has sort of improved) while others go gradually
better. Even Apple Xcode is almost like IDE by now when MS comes out
with VS 2010.

VS 2010 is of quality about ... Jungle Gorilla C#-Programming Co-
operative where MS outsources everything.
 
B

Balog Pal

James Kanze said:
Except that it doesn't offer anyway of seeing most of the
information you need. In my experience, it almost always shows
the value when you want the address, and vice versa.

I don't get this. When it shows an address, there is a + sign, you click on
it and get the value. Actually you don't even have to click, just hower the
mouse. And what is shown s the "natural" info for the object type. What for
me makes sense most of the time.

And when it's not what I'm interested, just type/copy the thing in the watch
window with * or &. Or whatever other expression.

As for the copy/paste problems mentioned by someone else, with all that
tooltip-shown stuff in the context menu there is both "copy value" and "copy
expression". The latter with all the ton of () and casts if you traveled
deep on + signs and happen to be on some base class or something.

What I don't get at all, how gdb, that does not show any information at all
without you type in the p command is better? Even if I have to type because
the default is not good enough, it at least stays around in the watch
window, for the next step, or the next session...
 
I

Ian Collins

* James Kanze, on 04.08.2010 16:19:
On 08/ 4/10 06:41 AM, Balog Pal wrote:
[...]
My other pain is debugger -- is the world really stuck with gdb?
Most Linux devs are happy with it.

I never cared much for it, but now that I have to use Visual
Studios... The Microsoft debugger has to be the worst I've seen
to date.

How so? It's about the best there is. Until recently gdb couldn't even
trace into constructors, and it's generally erratic, while MS' debugger
is dependable.

I think our usage patterns set our expectations of a debugger. Many
years ago when I was hunting around for a developer environment, my
priorities were data visualisation, the ability to follow forks into
child processes remaining attached to the parent and good support for
threading. A bonus was the ability to check memory access and leaks.

At the time only one tool offered the full set (dbx) so I went down that
path and have stuck with it. I don't use a debugger as much these days,
but I when I do I prefer to use it from with some form of GUI.
Debugging is probably the most visual of all the tasks we perform, so
being able to see multiple concurrent views of the code is a big help.
 
A

André Schreiter

Am 04.08.2010 16:27, schrieb Alf P. Steinbach /Usenet:
* James Kanze, on 04.08.2010 16:19:
Most Windows developers have *nix tools installed, including a *nix shell.

I know very few Windows developers (~2%) that using *nix tools or a *nix
shell.
 
A

Alf P. Steinbach /Usenet

* André Schreiter, on 05.08.2010 12:25:
Am 04.08.2010 16:27, schrieb Alf P. Steinbach /Usenet:

I know very few Windows developers (~2%) that using *nix tools or a *nix
shell.

It's my experience that most do.

Those who don't are necessarily either incompetent or .NET developers.


Cheers,

- Alf
 
C

cpp4ever

* André Schreiter, on 05.08.2010 12:25:

It's my experience that most do.

Those who don't are necessarily either incompetent or .NET developers.


Cheers,

- Alf

LOL, the assumption being that if you're incompetent then you can always
become a .NET developer. As I mostly use Linux and C++ I've never tried
using .NET. But as the topic is grumble, few businesses require Linux
C++ developers, grumble, grumble.

cpp4ever
 
Ö

Öö Tiib

Am 04.08.2010 16:27, schrieb Alf P. Steinbach /Usenet:


I know very few Windows developers (~2%) that using *nix tools or a *nix
shell.

You both with Joe cut out of context, Alf meant experts whose
favorites are Windows as OS and C++ as language.

C++ just has too few tools for programming to be comfortable without
for example GNU tools and utilities also Windows shell scripting (.BAT
files) are awful.
 
C

cpp4ever

You both with Joe cut out of context, Alf meant experts whose
favorites are Windows as OS and C++ as language.

C++ just has too few tools for programming to be comfortable without
for example GNU tools and utilities also Windows shell scripting (.BAT
files) are awful.

Surely you were tempted to replace a letter in batch to give a female
dog? As for getting tied to MS development tools, (no guarantees they'll
stay supported), no thanks. Personally, after migrating to Linux 5+
years ago, I've found plenty of C++ tools which I'm happy using. But it
would appear some folks are reluctant to follow that learning curve
which is understandable given the predominance of Windoze jobs.

cpp4ever
 
B

Balog Pal

Alf P. Steinbach /Usenet said:
It's my experience that most do.

Those who don't are necessarily either incompetent or .NET developers.

What counts as unix tools?

I used grep from the very beginning -- not "unix" but the thing included
with Borland C++ ~2.0. Which is "fixed" out of the box for the regular use
cases, no need for xargs or similar magic ;). But usage thinned out, as too
many other tools on win have it embedded.

I remember to DL the full "unix tools" pack twice or thrice for some very
special task, then abandoning it.

I certainly wouldn't want the "*nix shell" (which one btw? ;-) as for basic
stuff the popular DOS shells (from notron, pctools and many others) had
everything, NT's cmd also can be used if necessary, and for more
sophisticated work there are WAYS better solutions (python, ...)

I expect a proficient programmer to be aware of toolboxes and solutions, and
use some of them, though I'd not expect that to be the thraditional unix
package that is a lousy collection of ad-hoc material, certainly handy for
those who already memorized the dialect.
 
Ö

Öö Tiib

What counts as unix tools?

Some *nix tools i have used in otherwise pure Windows C++ projects are
bash, GNU make, g++, gettext library and tools, bison code generator,
gzip, tar, grep, GIMP and so on.

Lately some of the things are embedded into other tools/toolsets, so
people do not even know they use some open source ported unix tools,
GNOME applications or the like.
 
A

Alf P. Steinbach /Usenet

* Pete Becker, on 05.08.2010 13:47:
Then I guess I'm incompetent.

You've distributed builds of the Boost library, so my guess is that you have at
some time or other worked with a command interpreter. You may even have used the
'more' command in Windows, which is a Microsoft port of a *nix tool (not to
mention 'ping' etc.). By the way, a full build of Boost, from scratch, involves
building bjam, which when built fully from scratch involves having either
'bison' or 'yacc', although the files needed to build without those tools are
supplied pre-generated with the Boost source distribution.

And so my guess is that you're misleadingly putting some fancy interpretation on
words and terms such as "installed, "use" and "*nix tools".

Like Bill Clinton's "It depends on what the meaning of the word 'is' is".


Cheers & hth.,

- Alf
 
A

Alf P. Steinbach /Usenet

* Pete Becker, on 05.08.2010 16:07:
No, I haven't.

My bad, I mixed up Boostpro Computing and Roundhouse Consulting.

Yes, I've worked with a command interpreter.


Oh, my mistake. When you said that Windows developers who don't use Unix
tools are incompetent, I assumed you meant Windows developers *who don't
use Unix tools for development of Windows products* are incompetent.
Since you now seem to be claiming that it's only Windows programmers who
have never used Unix tools who are incompetent, I guess it doesn't apply
to me.


Fascinating. What does that have to do with what tools I use and whether
my choice of tools reflects my competence?


I've given them their obvious meaning. Apparently that's not what you
meant.

Well, to Bill Clinton his interpretation of 'is', 'sex' etc. was presumably obvious.

And so he could honestly claim that he never did have sex with that woman.

He could claim "no sex" like you're claiming that you don't have any *nix tools
installed, and that you're not using them for development of programs. Nah, I
didn't touch that Mona Lewinsky! Was she that touched me... He he.


Cheers & hth.,

- Alf
 
A

André Schreiter

Am 05.08.2010 13:04, schrieb Öö Tiib:
You both with Joe cut out of context, Alf meant experts whose
favorites are Windows as OS and C++ as language.

Sorry, but the Windows developers i known (i have worked with ~100
Windows developers until now), are C++ Programmer (native C++).
 
L

Lynn McGuire

Most Windows developers have *nix tools installed, including a *nix
I know its not a proper proof, but I have cygwin installed, which includes a bash shell.

I use the old Thompson toolkit ( http://tasoft.com/) since it is
written in Win32 assembly for speed ! The Thompson toolkit
includes a c shell and the fastest grep that I have ever seen.

Lynn
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,014
Latest member
BiancaFix3

Latest Threads

Top