?

Log in

No account? Create an account

Previous Entry | Next Entry

Kids Today: Tronkie Tools and Nostalgia

Warning: Tronkie Overload

Why is it that students nowadays seem to care very little for performance monitoring and code inspection tools?

"Back in my day" (when I was first learning to program, 1983-1993, especially 1989-1993), we used a lot of:

  • make: I was given to understand (through an invited luncheon talk at the Atanasoff Symposium by John Gustafson of Sun Microsystems that knowing the compilation state of a program is a thing of the past. I momentarily resisted this notion, but I suppose it is true enough for mobile code and in the context of transparent, just-in-time compilation. That said, I don't think makefiles are obsolete, as development and runtime environments that do leave compilation to humans (e.g., gcc/g++ and CC) are not in the grave yet.
    A research supervisor of mine once told me not to use a compiler as a type-checker, i.e., to fix type errors and as a lazy person's lint. I think Borland/JBuilder project files and Eclipse class path transparency runs the risk of the same kind of oblivious mind-rot.

  • gprof: Whatever happened to code tuning? Jon Bentley famously dedicated at least one column of Programming Pearls (and a chapter in the first book) to performance profiling. Kids I talk to today tilt their heads, ponder a moment, aver that it might be a good idea, and they shrug when I ask what they use as profilers in Java. The more mature ones point me to an Eclipse plug-in (Omerta?) or other. What the trask?!

  • sdb/gdb: Similarly, as Elaine demanded on Seinfeld - "have you all gone mad?!" Metamata is the only Java symbolic debugger I hear of people using outside of Eclipse, Your Panacea of The Millenium (YRAINW).



OTOH, students nowadays are quite aware of source code repositories such as SourceForge and source code control systems. When I took C in 1990 and C++ in 1993, sccs and rcs were very nifty things. These days, kids are all using CVS and pserver. They grow up too fast. Children are messing around with relational databases such as mySQL using PHPmyAdmin. And they play their rock music so darn loud, it hurts my ears...

Edit, 01:00 CST Fri 20 Feb 2004: Following my introductory post in cpp, scottharmon, hermes_imagod, and I spent the better part of an hour reminiscing about the Atari 800 (which was the first computer for me and scottharmon), TRS-80; Apple ][e, //c, //gs, Fat Mac (512K Mac); Commodore VIC-20, 64, and Amiga; and Coleco Adam. I guess you young whippersnappers are all too young to remember the TI99-4a, Kaypro luggables with the 6" diagonal amber screens, and Timex Sinclair? *shakes cane*

Edit, 03:45 CST Sat 21 Feb 2004: A disclaimer is in order. Look, I've been using Eclipse for just over a year now, and I'm quite happy with it; however, I also think that crack shot programmers such as robbyjo could do with a little more proximity to the common user. The hoi polloi, as darana and I joked about this afternoon, are not to be forgotten, or as mirabehn says, the squirrels will get you. (Don't believe me? Look at the followups to my delurking post in cpp!)

--
Banazîr

Comments

( 17 comments — Leave a comment )
hempknight
Feb. 21st, 2004 03:22 am (UTC)
Why is it that students nowadays seem to care very little for performance monitoring and code inspection tools?

Not much experience in the corporate IT, eh? The main philosophy is pretty much "If it compiles, sell it!". You worry about optimization and such only and only if the customer complains of poor performance (and this is rarely true for anything except the distributed systems).

It's not about the art, it's about the bottom line, my friend! :)

--
Danger is my middle name
banazir
Feb. 21st, 2004 04:11 am (UTC)
Take yer bottom line and sutff it
Not much experience in the corporate IT, eh? The main philosophy is pretty much "If it compiles, sell it!". You worry about optimization and such only and only if the customer complains of poor performance (and this is rarely true for anything except the distributed systems).
You don't think I knew that?
But I always complain.
You should have written, if enough customers complain...

It's not about the art, it's about the bottom line, my friend! :)
Yes, and even so, people should know how to tune code instead of thrashing cluelessly or tweaking where it will make little or no difference.

--
Banazir
hempknight
Feb. 21st, 2004 04:42 am (UTC)
Re: Take yer bottom line and sutff it
You should have written, if enough customers complain...

These days it's all custom solutions so it is actually only a customer which complains. But I am of course talking of companies with 500+ employees when I say customer. :)

Yes, and even so, people should know how to tune code instead of thrashing cluelessly or tweaking where it will make little or no difference.

Seeing how 90% of the code is recyclable, the tuning of the code happens through iterations (I discover a bug you didn't see, so to speak) there is very little point in using some external tool. Just an extra burden on the poor developer's little, inferior brain.

Business software programmers will soon be replaced by trained chimps, just you wait. I mean only 20% of the projects are completed to satisfaction with human programmers these days. I don't see the percentage going that much south if they replaced them with chimps.

--
Danger is my middle name
gondhir
Feb. 21st, 2004 06:45 am (UTC)
A research supervisor of mine once told me not to use a compiler as a type-checker, i.e., to fix type errors and as a lazy person's lint. I think Borland/JBuilder project files and Eclipse class path transparency runs the risk of the same kind of oblivious mind-rot.
Do you mean programs that color-code your code as you type it based on what kind of code it is and whether it's even valid to begin with?
banazir
Feb. 23rd, 2004 12:27 pm (UTC)
Lint, man! Where you been?
A research supervisor of mine once told me not to use a compiler as a type-checker, i.e., to fix type errors and as a lazy person's lint. I think Borland/JBuilder project files and Eclipse class path transparency runs the risk of the same kind of oblivious mind-rot.
Do you mean programs that color-code your code as you type it based on what kind of code it is and whether it's even valid to begin with?
/me squints
That sounds suspishyusly like a whippersnapper comment to me.
A Visual Basic-liek comment, even.
Wot do yew say, deire and hfx_ben? Shall he be trasked? scottharmon, hermes_imagod, prolog, twinbee, crypthanatopsis, and lal other gigatronkies, lpease chime in. (Note that I did not ask robbyjo or chriszhong, who would doubtless have you hung, nor that other tronkie, istari_ala, who would let you off with a pouncetacklehuggle or some other such illogical struff. :-))

lint
Lint!

(To answer your question, what you describe is a newer version of the static code analyzers that have been around in command-line mode for at least 15 years.)

--
Banazir
f00dave
Feb. 21st, 2004 07:52 am (UTC)
I started on a Commodore PET. I've used a Coleco Adam, a Timex-Sinclair (membrane keyboards SUCK), a VIC20, C64 (of course!), C128, Amiga 1000 and lots of other esoteric stuff. I chewed the ends off my Atari 2600 joysticks, but don't recall breaking the paddles. I put a 555-based timer into a Wico ball-topped joystick to add an autofire mode. And so on. But now, it's FARMER'S MARKET TIME! Later. =D
banazir
Feb. 23rd, 2004 01:34 pm (UTC)
Hail, Lord among Tronkies!
I started on a Commodore PET. I've used a Coleco Adam, a Timex-Sinclair (membrane keyboards SUCK), a VIC20, C64 (of course!), C128, Amiga 1000 and lots of other esoteric stuff.
Now there's a good Level 24 Tronkie Lord for you.
How many hit dice does a tronkie lord have, I ask you all?
They are Very Rare in the wild, I know, but common enough where they lair. *looks around* Ayup.

I chewed the ends off my Atari 2600 joysticks, but don't recall breaking the paddles.
Ah, the mystery that was the thick rubber of those things!
Like plastic on one end, like leather on the other.
*am hearing POW of Tank Blitz and eeeeEEEEEeeee of E.T.'s neck in my mind... ah, nostalgia*

I put a 555-based timer into a Wico ball-topped joystick to add an autofire mode. And so on.
W00t! Hardcore!

But now, it's FARMER'S MARKET TIME! Later. =D
You have that wot, every Satruday?
We had a farmer's market at Lincoln Square Mall in Champaign, IL, and it was very good. I could get:


  • bitter melon as well as

  • tender okra

  • napa on the cheap

  • habaneros

  • honey and pearl vert sweet corn (I know that's a no-go, deire



(Anybody like the first 4 items? always looking to collect tips for a moot or con that I may or may not be able to attend...)

The local one here runs once a weenk, Wed IIRC, but I couldn't even tell you for sure. My dad grows okra, Thai basil, red tomatoes, snow peas (which he's neglected to fertilize despite my repeated warnings), squashes of many varieties, teng2 hao1 (a leafy vegetable; like an endive, but more flavorful), jiu3 cai4 (a very pungent chive), and I browbeat him into trying coriander leaf/cilantro, but he wrote it off as a loss after the International Foods Center here started carrying the good kind. Bha.

--
Banazir ibn Ranugad al-Galbasi (Samwise son of Hamfast, the Gamgee)
twinbee
Feb. 21st, 2004 09:35 am (UTC)
the Atari 800 XL was also my first computer. I still have it in a box. I doubt I can still get it to work, but its good to have for comfort.

My parents knew I something was strange about me when I started writing atari BASIC at age 8, when they couldn't figure it out. Of course, there is some age factor to technological learning. These people couldn't operate an NES properly!
banazir
Feb. 28th, 2004 02:44 pm (UTC)
Atari 800 XL
the Atari 800 XL was also my first computer. I still have it in a box.
<SCOTTY>I had an Atari 800! No bluidy A, B, C, or XL!</SCOTTY>
:-)

I doubt I can still get it to work, but its good to have for comfort.
Indead.
If there is a rapocalypse, you will have the comfort of being able to code in BASIC to the end of your days, without having to build computers from scratch.

My parents knew I something was strange about me when I started writing atari BASIC at age 8, when they couldn't figure it out. Of course, there is some age factor to technological learning. These people couldn't operate an NES properly!
Just so long as you remember the distinction between computing and computer science, yes.
And remember: virtuosity is overrated. ;-)

--
Banazir
twinbee
Feb. 28th, 2004 07:45 pm (UTC)
Re: Atari 800 XL. my rebuttal
1) BASIC is not computer science! that came later
2) aptitude, not virtuosity
banazir
Feb. 29th, 2004 12:59 am (UTC)
Re: Atari 800 XL. my rebuttal
1) BASIC is not computer science! that came later
Ah, did I say it was? :-)

2) aptitude, not virtuosity
Undoubtedly.
But what aptitude (for CS) is there in NES usage?
Or any application of such technology where the skill is really in non-technical areas?

--
Banazir
twinbee
Feb. 29th, 2004 11:17 am (UTC)
Re: Atari 800 XL. my rebuttal
2) aptitude, not virtuosity
Undoubtedly.
But what aptitude (for CS) is there in NES usage?
Or any application of such technology where the skill is really in non-technical areas?


ah, I meant in programming, not NES
banazir
Mar. 19th, 2004 05:26 pm (UTC)
Re: Atari 800 XL. my rebuttal
But what aptitude (for CS) is there in NES usage?
Or any application of such technology where the skill is really in non-technical areas?

ah, I meant in programming, not NES
Ah, OK.
I feel another programming-related rant coming on, so look for it in my LJ soon (maybe in the next week or two). :-)

BTW, I lectured on Video Games using van Dam's notes in CG today.

--
Banazir
zaimoni
Feb. 21st, 2004 11:04 am (UTC)
... symbolic debugger ....
One think I like about C/C++ is that the C preprocessor makes symbolic debugging a waste of time. For my primary internal project (which I control the coding standards on), routines relevant to debugging are endowed with many

#ifdef _WARY
....
#endif


blocks. When something goes wrong, I just uncomment the immediately prior #define _WARY 1 for complete logging of the erroneous state.

And as for the legion of dinosaurian systems:
  1. Coleco Adam. Deceased when its video card melted down completely. Strangest program: solving a Games Magazine contest, ensuring I was one of the 513 entered in the drawing for some materially useful prize. [Written in LOGO....]
  2. Win3.1 Packard Bell, 12 MHz. Infamous for crashing when the vacuum cleaner was turned on (until I put it on a UPS in 1992). Wiped out by the same computer virus that wiped my uncle's system [after my family inherited it; I was on a Win95 box at the time.]
  3. Win3.1 Packard Bell, 25 MHz. Alive, but no CD-ROM drive. Mothballed pending additional space to deploy machines.
  4. Win95 Packard Bell, 75 MHz. Alive, but no modem or CMOS config. Responsible for my internal finances.
  5. Primary system, dual-boot Win95/Win2000, 700MHz Cyrix-III.
banazir
Feb. 28th, 2004 02:00 pm (UTC)
Hardcore Mathoms
One think I like about C/C++ is that the C preprocessor makes symbolic debugging a waste of time.
Weeeeelll, I wouldn't go that far.
It's a matter of coding style.
I find it faster to step, to set breakpoints and watchpoints, and to visually inspect instance variables of structs and classes.
YMMV.

For my primary internal project (which I control the coding standards on), routines relevant to debugging are endowed with many

#ifdef _WARY
....
#endif


What tag are you using for code?
My "tt" tag makes the text very small.

blocks. When something goes wrong, I just uncomment the immediately prior #define _WARY 1 for complete logging of the erroneous state.
Yes, I do that too.
I also use printf and cout with various flush tricks (\n and flush), but I prefer not to do things so uncleanly when I can help it.

And as for the legion of dinosaurian systems...
Wow, those are some hardcore mathoms!

--
Banazir
zaimoni
Feb. 28th, 2004 02:20 pm (UTC)
Re: Hardcore Mathoms
What tag are you using for code?

<code> ;)

banazir
Feb. 28th, 2004 02:28 pm (UTC)
Code tag
What tag are you using for code?
<code> ;)</b>
Ah, thanks.

--
Banazir
( 17 comments — Leave a comment )

Latest Month

December 2008
S M T W T F S
 123456
78910111213
14151617181920
21222324252627
28293031   

KSU Genetic and Evolutionary Computation (GEC) Lab

Teunciness

Breakfast

Science, Technology, Engineering, Math (STEM) Communities

Fresh Pages

Tags

Powered by LiveJournal.com
Designed by Naoto Kishi