Forgot your password?
Education Programming

The Value of BASIC As a First Programming Language 548

Posted by kdawson
from the proud-to-have-been-warped-by-it dept.
Mirk writes "Computer-science legend Edsger W. Dijkstra famously wrote: 'It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.' The Reinvigorated Programmer argues that the world is full of excellent programmers who cut their teeth on BASIC, and suggests it could even be because they started out with BASIC."
This discussion has been archived. No new comments can be posted.

The Value of BASIC As a First Programming Language

Comments Filter:
  • Meh (Score:2, Interesting)

    by s1lverl0rd (1382241) on Wednesday March 10, 2010 @03:32AM (#31423670) Homepage

    I started out with QBasic. It was absolutely horrific - the language itself and the code I wrote as well. QB convinced me to never, ever try VB.

    So yes, starting out with BASIC helped me tremendously :)

  • by Anonymous Coward on Wednesday March 10, 2010 @03:39AM (#31423722)

    Can't agree more. It's the person that matters and not what language they started out with. A good programmer will notice the limitations of a language and quickly switch to better programming methods when they are made available in a new language.

    I started out with BASIC (gwbasic) on PC-XT (the ones before 286) around 1991. Now, I'm a full time kernel programmer working on embedded systems.

  • by Interoperable (1651953) on Wednesday March 10, 2010 @03:42AM (#31423746)

    I learned in Fortran (I should qualify this by pointing out that I'm not a particularly good programmer) but it seems to me that writing logical code that uses GOTO statements would be a good introduction to computer logic. A complex program may become unreadable, but as a learning tool I could see that it might have merit. Good coding is about understanding logical procedure (and comments).

  • Variety (Score:5, Interesting)

    by RenHoek (101570) on Wednesday March 10, 2010 @03:51AM (#31423788) Homepage

    I've gone from MSX Basic to Turbo Basic to Turbo C. Now I can code in all kinds of languages, assembly, PHP, Ruby, Javascript, etc..

    I do think that BASIC has value as a first language because it gives back results immediately. Sure, nowadays there are other script languages, so you don't have to go through compiling and all the other complexity. BASIC is valuable because it's just that: basic. You don't have to worry as a first-timer about libraries, include files, functions and everything else. You get down to the very basics like variables and program flow.

    And after a lot of years of BASIC programming I knew the limitations of the language (which largely depends on the interpreter). That's when I switched over to Turbo C. And to be honest it didn't took me long at all to learn C because I was a pretty reasonable BASIC programmer.

    What I _do_ object against is stuff like Visual Basic. That's taking a limited language which is simple and jamming it into a place where it shouldn't belong. To let Visual Basic work, they stuffed all kinds of non-original basic stuff in there which make it more complex then something like Visual C. Their idea was "lets make making real application easy with Basic, because Basic is easy right?". It doesn't work like that.

    I also think that Java is not a language that people should start programming in to be honest. Object oriented programming is NOT something people should learn before they had a taste of procedural programming. Fun fact. I went back to my old school to see about taking some night classes to get my CS degree. (I dropped out at the time and I've learned a LOT more on the job then what they were teaching.) At their open house classes I asked about procedural programming and if they still taught it. They scoffed and said nobody uses that anymore. This when I've been a Linux kernel developer for 10+ years now which is 100% procedural ANSI C. It's all Java they teach nowadays.

    In closing. I think a good programmer is somebody who explores. If I have a Windows application that does something cool, I take it through a disassembler to see what makes it tick. I look up DOT NET C# code snippets to see what it's all about. I look through COBOL and ALGOL source code to see what constructs people used in the past. I patch ARM assembly code to fix bugs. I do all those things and not rigidly stick to a single programming environment. A good programmer is a state of mind, not the language he works in.

  • by ipquickly (1562169) on Wednesday March 10, 2010 @03:52AM (#31423792) Homepage

    just great, more sushi, I should block images from that site

    I started with Apple BASIC, and I was playing around with peek and poke before the other students even knew how to properly misuse goto.

    But that was when I was 13. The first year of college should not teach BASIC.

    But why are we not introducing BASIC or the very beginner friendly 'Ruby' to students when they're 13 anymore?

  • I started with BASIC (Score:4, Interesting)

    by OpenSourced (323149) on Wednesday March 10, 2010 @03:53AM (#31423794) Journal

    Years before I took any formal course, I was looking at the manual of a BASIC computer and making circles on the screen by programming a dot that kept to the same distance to another and rotated. I still remember the emotion of seeing a real circle emerge on screen. I don't know if BASIC helped me much to program, but the immediacy of the thing certainly did much to keep my interest alive.

  • Re:Funny argument (Score:4, Interesting)

    by phantomfive (622387) on Wednesday March 10, 2010 @03:53AM (#31423796) Journal
    That is totally true, I remember the first time I saw structured programming, it was something simple, just an easy way to print a list of items on the screen, and it was literally a feeling of the joy of discovery. I got addicted and started thinking up my own ways to structure code.

    Compare that to the guy I met when I was tutoring CS, who said, "functions, why do I have to use functions to write this program? I know how to use functions, it's such a waste of time." The idiot could have finished the program in the time he spent complaining about it, but he certainly did not feel the joy of discovery.
  • by willoughby (1367773) on Wednesday March 10, 2010 @03:56AM (#31423812)
    Most folks who have learned C++ learned it in a classroom with a real teacher. Most folks who learned BASIC learned by banging away on a computer keyboard at home.

    Most people aren't very good at teaching themselves. I've seen this a lot with people trying to learn Morse code and giving up in frustration.

    You can pick up a lot of bad habits without someone to guide you.
  • by Kjella (173770) on Wednesday March 10, 2010 @04:03AM (#31423852) Homepage

    ...but it was BASIC. And the expectations were so low. "10 PRINT "Hello, World!", "20 GOTO 10" and it started doing something. The programming manual was well worn by the time I was 10, would that have happened with any other language? I doubt it. Things like lack of scoping makes the easy things easier and the hard things harder. The point isn't to learn everything from your first language, the point is to get started and interested at all. Moving to DOS was sorta ok, but moving to Windows killed my interest. C/C++ was just horribly complicated, I remember trying to get up a window in the Win32 API and it was like wtf, how hard can this be? MFC was even worse, Java (really early java, on hardware of the time) was slow and unresponsive as fuck, Javascript was a toy language for websites and never really like Pascal or VB much either. I didn't regain my interest in programming until I went with C++/Qt, or maybe more Qt than C++ really. QMainWindow *mw = new QMainWindow(), mw->show(). The hard stuff is still hard, but I very very rarely find I write "overhead" code that I shouldn't have to.

  • by KillzoneNET (958068) on Wednesday March 10, 2010 @04:08AM (#31423876)

    I too started with BASIC. In my case this was freshmen year in High School back in 1999 on QBASIC. I had dabbled a little with HTML but that was nothing like an actual language that had logic. It was there that I learned the basic blocks that made me the programmer I am today. I went from simple logic to loops to graphics and sound.

    By the end of the year I had a full animation of a house with Christmas lights and music. I even had a very primitive text based RPG working with the ending taken straight out of Monty Python's Holy Grail.

    It was from there that I learned C++, JavaScript, and many other languages. The logic from BASIC carried me over very easily to other topics.

    The problem with students is not the language they learn, but the fun they can find out of it. You have to find what interests them and drive them in that direction.

  • Seconded! (Score:4, Interesting)

    by thijsh (910751) on Wednesday March 10, 2010 @04:14AM (#31423916) Journal
    Commodore Basic taught me to love programming, have fun making little games and all important binary operations and encoding for sprites and font
    QBasic allowed me to take my learned lessons to the 8086 and add much much more visually appealing graphical interfaces (still mostly games, but also editors etc.)
    QuickBasic introduced me to libraries and compilation, i've built some great hardware monitoring interfaces with sensors and relay switches
    Visual Basic allowed me to explore the win32 API and libraries, i''ve built some of my greatest applications with it ranging from editors and filtering proxies to a graphical music collection interface I could control with a remote

    I loved basic, it taught me so much but most of all it taught me to love programming... The days of fun little programs in basic are over and I have no intention of ever going back... but there is definitely meaning there, and I would recommend anyone to try programming with basic... as a self-taught programmer I can say you will learn a lot from basic.
  • by someone1234 (830754) on Wednesday March 10, 2010 @04:16AM (#31423928)

    Depends on your age when you start learning. I was 12 when i first met "programming", it was a TI programmable calculator. It was fun to squeeze as much functionality as possible from less than 1K Basic. Then came C64, with its ~38K Basic. Its Basic was very weak, but i learned how to read disassembly when i read the code of various Basic extensions and read books that contained snippets on extending C64 basics. Eventually i made my own Basic extension, cracked games to create trainers, made an own turbo loader that had half of its code on the floppy drive. So, by the time i went to mid school, i programmed device drivers in machine code!
    I learned PL/I and other archaic languages in mid school, even punch cards! I learned C on my own and was taught in it only by the time i went to high school.

  • by erroneus (253617) on Wednesday March 10, 2010 @04:17AM (#31423932) Homepage

    I too started out with a range of BASIC varieties. I coded on Commodore PET and 64, AppleII and Color Computer and all sorts of thing like those. I then moved on to Assembly language for Motorola processors. Those two language experiences have the lacking of something in common -- functions; creating them, linking to libraries and all that. This meant I learned to do it ALL myself, whatever it was, and my code wasn't all that portable except for copy, rename and modify to suit. Everything was GOTO, GOSUB, JMP and JSR.

    I also worked/played with Basic09, which was BASIC for Microware's OS-9. It was a bit more modern where it presented me with data types, functions and no line numbers. From there I grew into C.

    As far as beginning programming is concerned, I think there is value in learning to make the machine do things very explicitly at first. Old style BASIC and even Assembler provide that experience. People tend to have a black-box mentality with everything they do and care little about what is actually going on within the black box. Having worked with languages without libraries and needed to do everything myself gave me some appreciation and insight into the black boxes we use in other languages. I tend to think these are pretty important insights especially when the black boxes don't do exactly what we need them to do.

    And one other thing -- memory management. That simply isn't a topic on anyone's mind in programming these days. It was when I started. Request memory, release memory. Many of the machines I started on were limited to 64K! It was a primary concern. These days, people waste memory as if it were unlimited. Memory leaks are signs of either bad/sloppy coding or bad/sloppy black boxes. Either way, the further people distance themselves from how the machine actually works, the worse programming becomes in some respects.

    This leads me to object oriented coding. Jeez what a mess that is. I grew up procedural and it is hard for me to think any other way. But then again, that's how computers actually work in the first place. Object oriented programming merely distances people from the machines and prevents newbies from appreciating how the machines really work. And the idea of mixing "data" and "executable code"??? Really? Damn. Sounds like injectable code execution exploits to me. When I started, we knew to keep those two things separate from the very beginning. Object orientation mixes them up and probably does more to lead to exploitable code than anything else.

    I guess as I grew up coding, being aware of boundaries and limits, input validation and all manner of things like that (which were a lot more necessary in old BASIC and Assembler due to their lacking of advanced data typing) became first nature in programming. These days, people pay little if any attention to these details. And so every time I rant about sloppy or bad programming habits leading to very exploitable code, I am coming from a history of growing up under the notion of being aware of where and how memory is being used, testing and limiting the input and output, ensuring that infinite loops don't happen and all manner of things like this. Then people respond with " just don't understand! no one has time or energy to waste on that stuff!"

    For me, it's unimaginable to write code without checking itself at every turn... this was probably the most important thing I took away from my earliest programming experiences.

  • Back when i was 11.. (Score:1, Interesting)

    by Anonymous Coward on Wednesday March 10, 2010 @04:17AM (#31423934)

    my mother draged home a 286 from work. I knew nothing, but i poked and i prodded and finally learned that exe files were programs. I stumbled upon qbasic.exe and did'nt understand what it was. I pressed F1 and the help appeared. I read it all many times and my programming carrer took of fromt here. It took several years before i left basic for C and ASM.

    Today i have no problems getting my work commited to the Asterisk project. The guy is full of it.

  • Better than nothing (Score:3, Interesting)

    by kainosnous (1753770) <> on Wednesday March 10, 2010 @04:21AM (#31423956) Homepage

    When I was first learning to "program" I had nothing more than an old computer with DOS. The internet was something I had heard about, but had never experienced myself, and I didn't know what Linux or even Unix was. The only way I had to learn was from some books I found at the library. At first, it was just .bat files. When I discovered BASIC (I thing it was GW BASIC), I was excited to have it. Later, I discovered QB.

    There are some advantages. First, I didn't have to set anything up or worry about what includes I needed. A simple PRINT "Hello word" was enough. What was better with QB was that with the press of F1 I could browse the list of commands. Also, it came with a Gorillas.bas and Nibbles.bas. I spent hours injecting lines of code into those games.

    Sure, if you have a full Linux environment with gcc, man pages, and web access then BASIC is just some lame toy, but if it's all you have It's a start.

  • BBC BASIC (Score:5, Interesting)

    by tomalpha (746163) on Wednesday March 10, 2010 @04:28AM (#31423970)

    I cut my teeth on BBC BASIC back in the 80's. It was simple, powerful, let you do pretty much anything and best of all came with a built in assembler. Now that was really neat.And it just worked. It was easy to optimise individual subroutines in assembler. This was age 10. At my simple state school with a couple of BBC Model Bs in the corner, I wasn't the only one doing that either.

    I make a living writing C++ now and seem to do fairly well at it. The kids coming out of university that I interview these days haven't touched BASIC, or C++ for that matter. We want them to write good C++ when they come and work for us. The intelligent ones adapt easily to working with pointers etc. The less able ones that have somehow made it through the interview process struggle.

  • by plasticsquirrel (637166) on Wednesday March 10, 2010 @04:42AM (#31424026)
    Ha, right. The guy who invented semaphores and solved some of the most difficult theoretical problems in Computer Science was a "self-declared legend." Are you serious? Sure, Dijkstra was opinionated and arrogant, but he was also a genius. He came through with rigorous solutions to the problems that really plagued the field of CS. That doesn't mean that he had perfect perspective, by any measure of the imagination. For example, he argued that first year Computer Science students should not even be allowed access to a computer. Rather, that they should just formally prove the correctness of the programs they write. I think fellow Computer Scientist Alan Kay said it best:

    I don't know how many of you have ever met Dijkstra, but you probably know that arrogance in computer science is measured in nano-Dijkstras.

    Now since I mentioned Alan Kay, I should mention that Squeak / Smalltalk and Scheme are perfectly good alternatives to BASIC. They are refined and elegant in a way that BASIC, Python, and their ilk could not hope to be. They also give people powerful tools without a myriad of special cases, alternative syntax, and back-room slop. For example, Scheme is a very simple language, but by default supports arbitrary precision and limitless recursion. The last time I put Python's recursion to the test, it crashed pretty quickly.

  • Ever see BBC Basic? (Score:3, Interesting)

    by serviscope_minor (664417) on Wednesday March 10, 2010 @04:50AM (#31424058) Journal

    The BBC Model B was released in 1981. It had a nice dialect of basic with named procedures, named functions, dynamic memory allocation, typed variables, proper pointer indirection and a cleverly integrated assembler.

    It had pretty much the full suite of structured programming tools.

    Maybe the comment had some value before 1981, though I don't think it did. For the last 29 years, however it has been somewhat out of date.

  • by slashsloth (1596555) on Wednesday March 10, 2010 @05:05AM (#31424132)
    Surely Python is the language to start with these days? It's straightforward, doesn't force any particular model, i.e., can use for procedural, OOP, functional style. Most importantly it's not a toy language.
  • Re:Meh (Score:3, Interesting)

    by serviscope_minor (664417) on Wednesday March 10, 2010 @05:06AM (#31424136) Journal

    I don't remember tha language being bad.

    It was free from line numbers and allowed proper structured programming.

  • by Z00L00K (682162) on Wednesday March 10, 2010 @05:14AM (#31424166) Homepage

    It's not necessarily a bad thing to have done things in BASIC, but bad habits can be formed by that language. However the other side of it is that if you first see the bad sides of BASIC then you can recognize the good sides of other languages.

    And BASIC of today is Python.

  • by atisss (1661313) on Wednesday March 10, 2010 @05:14AM (#31424170)

    Oh really? And university students should have no prior knowledge to programming? We have full universities of such students, they get degree and go working for some brainless company doing minor tasks.. Or they could continue study until they are 40, then they will probably be able to code.

    I started at 12, and BASIC gave me some idea of how computer is actually working. Probably it's time for new languages, but You just can't learn programming at college in few years. You have to grow up with that.

  • by dkf (304284) <> on Wednesday March 10, 2010 @06:02AM (#31424330) Homepage

    It boils down to "people are idiots, they can't possibly learn anything new, they are either indoctrinated at birth in My True Way, or lost and hopeless." Who in their right mind would take that seriously?

    That quote reminds me of a number of religions who have exactly that attitude. Makes me suspect that it must be a recurrent (though no less foolish) theme to human thought...

  • by dakameleon (1126377) on Wednesday March 10, 2010 @06:12AM (#31424360)

    When was anyone introducing languages to students at 13? There's bound to be a significant chunk of us out there who poked around our computers and went to find these things out ourselves. BASIC just kinda sold itself with the name - you knew it was a good starting point. Self-discovery and a curious mind is probably outdated in the corporatised world, in spite of the roots of many of us who learnt by screwing up an autoexec.bat file or two on Dad's computer. Nothing teaches you to pre-check your logic than having to explain to Dad why his computer doesn't work any more :)

  • by Rockoon (1252108) on Wednesday March 10, 2010 @06:53AM (#31424534)

    It forced us to think around corners. It made us think through what the control structures really were, and how they were implemented." is moot - assuming he's not joking, if you really want to train that way of thinking, you're much better off learning Assembler.

    Most of the experienced assembly programmers I know started with an old-school basic (gw-basic, basica, one of the rom basics) and today also program in a BASIC derivative (VB, PowerBasic, TrueBasic, etc..)

    None of them enjoy C++.

    I often hear C++ programmers declare that learning assembly is stupid, that processor are too complicated now to write efficient assembly, and so on.

    I do not think that these things are a coincidence. Basic programmers from the 70's and 80's turned into tinkerers, while C programmers from the 70's and 80's turn into architects. Its counter-intuitive when you first think about it, but it seems to be the truth. That Basic programmer had a lot of architecture done for him but had to struggle to tinker, while that C programmer had tinkering handed to him by the language but had to struggle with his own architecture. Each eventually masters what is difficult on the field they play in, while taking for granted that which is easy.

    Regardless of the target language, if I need a project lead for a large application I would want a good solid architect, but if I want a library written (perhaps even for that large project) then I would want that heavily experienced tinkerer on the job.

  • by BrokenHalo (565198) on Wednesday March 10, 2010 @08:59AM (#31424988)
    IMHO a better choice is assembly, but BASIC does have the advantage of providing faster rewards.

    Assembly's great, but you sort of have to keep re-learning it for different processors. My first programming was in assembly on a Burroughs B3700 back in the late '70s, and in a way it taught me everything I know about programming.

    But if you're prepared to go old-school, my recommendation would be Fortran. As the quote goes: "Real Programmers code in Fortran. If the job can't be done in Fortran, do it in Assembly. If it can't be done in Assembly, it isn't worth doing."
  • by Lemming Mark (849014) on Wednesday March 10, 2010 @09:45AM (#31425302) Homepage

    One of the reasons I like Python is that it is actually quite good at accessing unwrappered OS functionality - the standard libraries provide the ability to pack structs, etc, so if you want you can access ioctls without having to write native code (the inability to do that was one of the pain points I found in Java when I last programmed it - but that was 7 years ago, so I daresay things will have moved on!). When you do have to write "native" code, some combination of C (the native module API is fairly nice) or Pyrex / Cython makes it quite easy to do.

    Python is certainly slow but I often find that doesn't matter too much. A combination of well-chosen native modules and / or existing libraries and / or careful algorithmic design can take Python's speed off the critical path. The Mercurial (hg) revision control system is written mostly in Python with some (now optional) native modules and it is one of the fastest version control systems out there.

    All that being said, I think C is a pretty good language to teach people. It's not necessarily the language you want them to program (or even think) in, which is why my own lecturers didn't want to teach it to us. But without understanding a decent number of the concepts C makes explicit it's not that easy to appreciate what's really going on in the system and it's not that easy to appreciate the advanced features in other languages. We were lectured ML (a very nice functional programming language) and Java in my first year degree course. Occasionally we'd get told stuff like "ML is garbage collected" - it's pretty hard to understand what that means if you've only ever used garbage collected languages and don't know about explicit storage allocation! Ditto for pointers vs Java's references, etc.

    In my work I've generally found C and Python to be complimentary - Python excels at interaction stuff, string processing, control plane logic. C excels at low-level things and stuff that needs to be high performance. They're easy to join up when necessary, so it works pretty well.

  • by mcgrew (92797) * on Wednesday March 10, 2010 @10:10AM (#31425614) Homepage Journal

    it seems to me that writing logical code that uses GOTO statements would be a good introduction to computer logic.

    I'll agree with Dijkstra to a point -- BASIC makes it harder to learn modern high level languages like C or Java. BASIC is more like assembly than it is like C; there's little difference between JMP FF37 and GOTO 100.

    Now, if they're talking about Visual Basic, I'll agree with Dijkstra, that language is an abomination and should never be foisted on anyone.

    I do databases at work, and used to use dBase and Clipper for small datasets, NOMAD for big datasets that required the mainframe. I loved those languages; I could make the computer do almost anything, and write the code with minimal effort. Now I'm mostly using MS Access, and I absofuckinglutely HATE it. I don't even consider it "programming".

  • Re:Seconded! (Score:4, Interesting)

    by Just Some Guy (3352) <> on Wednesday March 10, 2010 @10:31AM (#31425820) Homepage Journal

    Commodore Basic taught me to love programming, have fun making little games and all important binary operations and encoding for sprites and font

    Preach it. My first exposure to binary was working through the examples in the Commodore 64 Programmers Reference Guide [] (still the best manual I've ever read). Sprites were 8x8 images stored as a 8 bytes, each byte representing a row, and each bit representing a pixel. I probably went through that section 15 times before I truly understood and believed that binary math works, but the lesson paid off in spades. Back then, it was figuring out how to peek and poke a memory location to make a single pixel blink. Now it's loading and storing a memory location to toggle a serial control line on an embedded controller. That little machine gave me a good start.

  • If you build your skills around Python, you'll hit serious trouble if you ever end up needing decent performance or unwrappered OS functionality. If you build your skills around C, whole new possibilities open up to you.

    That's the dumbest thing I will have read today. I built my skills around 6502 assembler, written inside a monitor because I didn't know that real assemblers existed. I did my senior thesis on interfacing hardware to an embedded controller. I'm content writing memory-managing, bit-twiddling [] software in C. At the end of the day, though, I'd much rather write complicated stuff in Python than in anything else. Furthermore, I don't have any problem getting great performance out of it. The fact that you do says a lot more about the way you tried to write software in Python than it does about the language itself.

  • by RAMMS+EIN (578166) on Wednesday March 10, 2010 @11:14AM (#31426372) Homepage Journal

    I think you sort of have to cultivate your own myth if you want to become famous. There are a lot of brilliant people out there who most people have never heard of. Dijkstra made great contributions to computer science and programming, but to say that that is what made him famous belittles the work of all those others who did so, too. He was famous because he made great contributions _and_ worked on his visibility.

    Being famous is not one of my goals, so I don't engage in a lot of activities that would raise my visibility. In fact, I sometimes feel I work on my visibility too little - other people get asked for things that I would have been a better fit for, simply because people know them and not me. On the other hand, I don't claim to be anywhere near as good as Dijkstra. He changed the world in a way that I likely never will.

  • by azmodean+1 (1328653) on Wednesday March 10, 2010 @11:16AM (#31426404)

    This is so true, I think programmers need experience with a language that doesn't do hand-holding so they can learn for themselves why structured programming is so important. This is something I found very lacking with my CS degree (ymmv of course), we were told why rigorous design is necessary, but we were never exposed to systems sufficiently complex to show us the pain that could be created by undisciplined coding.

    I never saw just how bad it could be until I got into the workforce and had to maintain terrible code. That experience quickly changed my opinion from, "Software Engineering* seems to be a really good idea... in theory", to being certain of it's necessity to the point of looking my boss in the eye and telling him that no, I can't deliver on his deadline because we have code reviews and regression tests to do, and they are not optional.

  • by danlip (737336) on Wednesday March 10, 2010 @11:57AM (#31426978)

    I think the second part of that definition is more relevant. Dijkstra was definitely arrogant, no matter how brilliant he was and no matter how much he contributed to CS. Or maybe you can say he was just an ass. But it certainly wasn't that "others are just miffy".

  • by Dun Malg (230075) on Wednesday March 10, 2010 @01:29PM (#31428172) Homepage

    I think you sort of have to cultivate your own myth if you want to become famous.

    ehhhhh..... I think you have to cultivate your own myth if you don't have a great number of concrete accomplishments to cement your reputation. Richard Feynman was a pretty unassuming guy, and he ended up famous anyway. Dijkstra probably didn't need to sell himself, so he really doesn't fit the category. He was just a kind of a loudmouth by nature.

nohup rm -fr /&