4 ms·
Do you have in mind a particular integration with the real world that is language-specific, but where DrScheme would not help a professional programmer ramp up
by brlewis 15y ago
Do you have in mind a particular integration with the real world that is language-specific, but where DrScheme would not help a professional programmer ramp up familiarity with a Schemey way of doing it?
I think I disagree with you, but have to understand what you're arguing to be sure.
- jrockway 15y agoNope, I'm being more general. Throw darts at random programming ads. Take that job. Chances are, it will be something like "move QUUX formatted records from BAZ mainframe to new Oracle Windows Java 7.0 Lightweight Enterprise Server", rather than "start completely anew to help elementary school students learn calculus". Things like ad-hoc record parsing and network connectivity and the ability to easily fork() end up being more important than a clean OO system or a nice UI library, and so on. (Not that they are mutually exclusive... but it's likely that Oracle Windows Java 7.0 Enterprise Server has drivers for Java but not DrScheme, saving you thousands of hours of programming time.)
- _sh 15y agoWhat you say is indeed true, if you take a monolithic approach to problem solving. And I tire of this approach--dammit, we're tool-builders! We have been shown the Unix Way, and yet we ignore it time and again, forcing us into suboptimal solutions to our problems. Moving "QUUX formatted records from BAZ mainframe to new Oracle Windows Java 7.0 Lightweight Enterprise Server" involves these things: a source, a sink and the pipe character. Your source and sink may necessarily be in Java--meh, whatever works. But now you have a decoupled framework for doing these kinds of jobs, and you haven't invested any more time or effort than you would have with your one-off, inflexible solution. And you can now stuff anything in that pipeline. And I regularly use racket for exactly this, using protocol buffers as the pipe character. It's not rocket science, it's the Unix Way. People, embrace it and free yourself from the monolithic millstone!
- angrycoder 15y agoYou are assuming the people that are being asked to write this code have the power to choose anything about the code or platform they use.
- jrockway 15y agoYou're assuming that BAZ mainframe wants to let me move data away. They don't, so the only way to do so is with ugly hacks. That's the bulk of programming: making things that don't want to interoperate interoperate. If everything was a service, then everything would be easy, and our tools would look a lot different. But if you can't change the world, you can at least make living in an imperfect world easy, and that's what Perl tries to do.
- _sh 15y agoIf the mainframe won't cooperate, you'll have work to do no matter what. But you can isolate that work into as little as possible. That is what the Unix tools do. Everything is a service, if you make it so. A component is a service, offering the functionality of its interface. The 'wc' tool is a service--its interface is its command-line switches. And you're right, when everything is a service, everything is easy (I'd say easier).
- brlewis 15y agoIt's likely that Oracle Windows Java 7.0 Enterprise Server has an ODBC driver. So DrRacket is all set: http://planet.racket-lang.org/package-source/ryanc/db.plt/1/5/planet-docs/db/query-api.html http://planet.racket-lang.org/package-source/ryanc/db.plt/1/...