Discussion Forums > Technology
Programming Questions | Repositories
Freedom Kira:
--- Quote from: rkruger on March 21, 2012, 04:20:55 PM ---I guess Ubuntu just uses regular shell scripting (bash) for internal tasks then? Since it doesn't come with either Python or Perl...
--- End quote ---
Ubuntu supports bash scripting out of the box, yeah. That's the default terminal, after all.
--- Quote from: rkruger on March 21, 2012, 04:20:55 PM ---g++
It's part of the Gnu Compiler Collection, which as you said, is present in almost all Linux distributions.
(And by the way, GCC supports other languages as well, like Fortran, Ada and Objective-C to name some, but I'm not sure if you'll find that on all distributions though.
--- End quote ---
Nope, no g++. Guess that's not supported natively either. I find that C++ isn't actually all that common, anyway.
--- Quote from: rkruger on March 21, 2012, 04:20:55 PM ---Yeah, that can be a pain with C (and C++), but can be solved by using GDB. (Also part of GCC.)
(It's quite easy really, just run the program with GDB and when it crashes, you can print the stack trace. You may have to compile with debugging symbols first, I don't remember.)
--- End quote ---
The name sounds vaguely familiar... I'll have to keep that in mind. I remember people were using DDD or something along those lines for segfault debugging.
rkruger:
--- Quote from: Bob2004 on March 21, 2012, 10:04:43 PM ---You can rely on an IDE to develop it with though. I'm not really sure what you mean, since there's absolutely nothing to stop you installing an IDE to develop your program with. Sure, the customer won't be running it in an IDE, but the general idea is usually that you've already written the program by the time they get hold of it.
--- End quote ---
Unfortunately, bugs do not only appear during the development phase of a program.
--- Quote from: Bob2004 on March 21, 2012, 10:04:43 PM ---They're not doing any development, so why would they need development tools anyway?
--- End quote ---
Did I say that they (the customer) need development tools? I cannot recall that I did. Maybe we are are talking about two different things here? There's the development host, and then there's the target platform.
While you are free to use an IDE on your development host, you cannot expect that on the target platform, hence the need for logging.
--- Quote from: Bob2004 on March 21, 2012, 10:04:43 PM ---A good logging system is very helpful, sure, when it only logs useful stuff. But when you don't have any way to inspect the contents of a variable other than to add in a line of code printing it to the console, you end up with a lot of useless output, which you have to waste time adding in (then removing again) when trying to debug the program, and which serves no useful purpose once the particular bug you were working on has been fixed. It's an annoying waste of time, compared to just hovering the mouse over the variable and immediately seeing its value.
--- End quote ---
Of course it doesn't make sense to log "temporary" stuff, but leaving debug printouts (call them trace points if you like) in the program can be a great help later.
It would seem that we come from very different backgrounds here. Judging from your experience with C# and Java, your focus seem to be on desktop applications? As for myself, I work on embedded systems running Linux and other real-time OSes, so maybe you can understand my bias.
--- Quote from: Freedom Kira on March 22, 2012, 11:58:32 AM ---The name sounds vaguely familiar... I'll have to keep that in mind. I remember people were using DDD or something along those lines for segfault debugging.
--- End quote ---
DDD is actually a frontend for GDB, among other things.
Bob2004:
I think we're miscommunicating a bit here. Good logging is obviously essential; even during development when you have a good debugger, you still need good logging to help identify issues. But in order to try and figure out why a particular bit of code isn't working properly during development - while you're still writing the program - if you don't have any kind of debugger, you need to add more lines of code to inspect variables etc to try and find the issue. This is an unneccesary waste of time (especially since not only do you need to remove them all again later, you have to stop execution, add a line of code, recompile, then run the program again all the way to the point where the bug occurs, every time you want to inspect a particular variable at a particular point in time). That's all I was talking about - nothing to do with proper logging or post-development testing.
And yeah, I've only ever worked on desktop applications. Dabbled very briefly in Android development once, but never really got round to actually making anything.
Navigation
[0] Message Index
[*] Previous page
Go to full version