I was mostly an electronics geek back then, so mostly did circuit simulation-type stuff.
Yep, that fits. Your ability to grok C is directly tied in with this background. I was always more of a software guy.
Learning C after assembly, I never really considered it a high level language, but more another version of ASM with nicer syntax and easier to work with.
This is similar to my eventual accessment, which finally drove me away from further attempts to master the language. One difference is that I actually think 8086 assembly has a cleaner and more straightforward grammar, the cheif advantage of C being that it is less dependent on a specific architecture.
For me, the big attraction to Perl is hashes and regex.
These are both very nice features. I'd picked up regular expressions with elisp, but hashes are rather more convenient, for a lot of tasks, than alists or similar lisp data structures, and Perl's regular expressions are also rather better than lisp's, for several reasons. (Among these reasons: there are dedicated quoting structures for regexen, which makes the syntax much nicer, as you don't have to do nearly so much double-backslashing; convenient in-place substitutions with s///; modifiers such as /i and the like; capturing is more convenient in terms of syntax.) Other things I like about Perl include the dynamic typing (which is superficially similar to Inform's typing system, which I quite like), the equal standing of multiple paradigms (procedural, functional, object-oriented -- allowing any given problem to be solved in a natural way), the terseness (which allows entire functions to fit on the screen in one half of a vertically-divided editor window, greatly contributing to maintainability), and, above all else, the quality of the 2nd edition camel book, which is easily the second-best computer language book I've ever read (after the Inform Designer's Manual, which alone among all the computer books I've ever seen is deserving of serious critique on its literary merit).
I need to learn more list-based tricks (Schwartzian transform, etc.) to enlarge my bag o' tricks...
Perl is a good language for learning these things. Even though I came from a background of having previously programmed in elisp, it was Perl that really taught me to think that way. It was in Perl that I first really understood closures, and it was in Perl that I first really *fully* understood list transformations, and I am convinced that it will be in Perl6 that I finally grok continuations -- although I attempted to study Scheme for the express purpose of understanding continuations, I came away from Dybvig only halfway understanding them. But when I can see the examples in Perl, then I am convinced I will understand better.
Then again, maybe it's that way for me because I think in Perl. If you think in C still, maybe you should try implementing the Schwartzian Transform in C, to understand it. The syntax would be rather different, but I'm sure it could be done. I could do it in QBasic. It'd be a bit weird, but I could do it. For that matter I could do it in line-number basic, with GOSUB (i.e., without the benefit of functions that take arguments).
I always thought that people who used Emacs for all had extra pinky fingers or were concert pianists or something!
Now that you mention it, I do have an Avant Stellar keyboard and a customized layout, and I do have both ctrl and shift on home positions (right and left pinky, respectively). However, I think that would be worthwhile even if I didn't use Emacs, because I'm a heavy keyboard-shortcut user, irrespective of application. It's just faster and easier than dragging the mouse all over the desktop every time you want to do anything. And practically every application uses Ctrl and Shift combinations.
I've actually started a couple of times, but have a lack of that substance you refer to as "Copious Free Time". I've heard many people whose opinion I respect tell me that learning Lisp is very worth my while, and I believe it. The references to functional programming have really piqued my interest. However, I've been coding long enough that learning a new language isn't interesting enough--fun, but it's a little too much like work. I turn on the computer, crack open the Lisp dox and a bash shell, type a couple of lines of code, and then start wondering what's on Slashdot/Groklaw/PerlMonks/...
This is the problem I had when I tried to learn Haskell. I just couldn't get myself interested in it. I got further with Python, but kept running into how needlessly verbose everything was and how "forced" the object-oriented paradigm felt when applied to some of the problems I was working on and how much easier it would be in Perl. With PHP, I just couldn't stand the tone of the text I picked up. I already explained about C. So, now that you mention it, Perl is, so far, the last language I picked up, learned, and liked. On the other hand, most of the languages that I learned *before* Perl were ones that I discarded after a bit and went back to BASIC. I kept going back to BASIC, after learning Pascal, COBOL, Fortran, a little bit of C++ (not really enough to be useful), and so on. Setting aside Inform, which is not general-purpose enough to be used for the things I typically did with BASIC, it wasn't until elisp that I started doing things in another language that I formerly did with BASIC, and even then I continued using BASIC for other things until I became comfortable in Perl. So I think it's a matter of finding the right languages, the ones that are going to meet your need where you are at the time, do something that was awkward in the languages you'd been using, and thus take you to new and interesting places.
In reply to Re: YAC (Yet Another Challenge): Oldest Useful Computer Text
by jonadab
in thread YAC (Yet Another Challenge): Oldest Useful Computer Text
by hsmyers
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |