isn't quite ashamed enough to present

jr conlin's ink stained banana

:: I Guess I'm Not A Tool

This morning i was catching up on some of the geeky blogs when i noticed someone raising an interesting point regarding the difference between tools and language (definitely also read Oliver Steel's original post). Honestly, i never really thought about it that much.

i guess i've been coding so damn long that i fall pretty squarely in the "language" camp. i tend to learn new languages pretty quickly and feel most comfortable in a text editor (with points if it does syntax highlighting and bonus points for configurable syntax highlighting so i can build my own filters.)

This is not to say that i don't use IDE's either. i've used all sorts of IDE's from Smalltalk's object browser to MS-Visual to even Eclipse. i won't deny that IDE's do tend to bring a good deal to the table in terms of drag and drop and indexing, but the problem i've always had with IDE's for languages such as Java and C++ was that they also had a pretty high level of overhead.

i really can't do anything with the IDE or the application until i get the fundementals working. Visual C is a beautiful example of that because they give you a slew of baseline applications that you can "extend". Granted, most of those extensions usually consist of ripping out the guts of what they've installed and rewiring your own, but if you decided to just stick with the needfully bloated template, you do get a great deal of plug-in support. The real value of the IDE, however, doesn't come through until you've got some kernel of a program to work from, and thus the library of ready-made mini-apps that you can start building.

Of course, if you decide to go in by hand, you have to be very aware of the fact that you have to do a lot of the complier and linker's work. You have to clearly identify a given variable, how it will be used and ensure that you do whatever marshalling needs to be done in order to use it. As Harry Fuecks points out (Danger, very pop-up friendly site!), that can be annoying for language folks.

i tend to prefer writing in Perl and PHP partly because i don't have to worry about doing the compilers work. Yes, i know that those languages are slower and more bloated at the lower level because of the marshalling the compiler is doing, but they let me focus on solving problems rather than syntax. If i need to optimize for speed or memory, it's fairly easy to take the rapid prototype to a finished (fully compiled and linked) product because i'll know precisely how the final data flows. i've only worked on one program ever that went from proposed spec to finished product without changing a single fundemental. It was close to 17 years ago, was a team of five coders, and the app was used for about a year and a half until the 9-track magtape library was shut down.

And i guess that's my point really. By being more interested in language and not relying on tools, i don't have to be more focused on getting around the tools to play nice with the language. i can use the language as a tool to get the damn job done.

Still, it's a very interesting thread for language or IDE geeks.

Blogs of note
personal that's my blog
(The Official Blog of the Internet)
memoirs of hydrogen guy matthew shepherd (quebec) rhapsodic.org Henriette's Herbal Blog lynne ydw i slumbering lungfish
geek jeremy z
(The Official Website of the Internet)
dave's picks ultramookie Josh Woodward derek balling
news ars technica search engine watch

Powered by WordPress
Hosted on Dreamhost.