5 ms·
Enjoyed this a lot. Points I could identify with: - being motivated by people telling you you can't do it. - writing what you need instead of what other peop
by haberman 13y ago
Enjoyed this a lot. Points I could identify with:
- being motivated by people telling you you can't do it.
- writing what you need instead of what other people say the world needs.
- having a weakness for getting into arguments with people who are "wrong." :)
- being inclined to work solo, and being uncomfortable giving up control but realizing at some point that you have to cede some.
- WalterBright 13y ago> being motivated by people telling you you can't do it. I'm saddened by all the stories I see posted here and on Reddit where people are discouraged from doing things by negative remarks from others.
- paulbaumgart 13y agoIt's funny (not really) that the set of people who actually do things and the set of people who reflexively post negative comments on the internet barely intersect, if at all.
- michael_nielsen 13y agoThis has been posted many times, but the words of Teddy Roosevelt bear frequent rereading: "It is not the critic who counts; not the man who points out how the strong man stumbles, or where the doer of deeds could have done them better. The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood; who strives valiantly; who errs, who comes short again and again, because there is no effort without error and shortcoming; but who does actually strive to do the deeds; who knows great enthusiasms, the great devotions; who spends himself in a worthy cause; who at the best knows in the end the triumph of high achievement, and who at the worst, if he fails, at least fails while daring greatly, so that his place shall never be with those cold and timid souls who neither know victory nor defeat." The critics often seem to be saying, implicitly, "_I_ could do it better". It's a claim of superiority. I guess it's beguiling, because criticism of this form is so much easier than genuine creation. I think many of the critics don't consciously realize this, since they've never created something of great worth, and have no idea how difficult it is. I've known very accomplished people who could be haters. But usually accomplished people seem to be appreciative of creative projects, and understanding of flaws (while wanting them eliminated). I think it's because they understand just how difficult it is to do good creative work. They know that someone can bring immense gifts and effort to bear on a project, and still have it go awry.
- lbearl 13y agoIt is sometimes amazing how words of wisdom from 100 years ago still resonate today. Thanks for that quote, I've never before seen it.
- lmm 13y agoCitation needed. Probably the best programmer I ever worked with was the acidic guy who shot most suggestions down and at one point almost started a fight with another developer.
- mattfenwick 13y ago> I'm glad I didn't listen to the naysayers, the Debbie Downers, and of course that nameless C guru from long ago, whom I owe thanks to. That's great to hear that you didn't let the negativity stop you. I was recently told "If you're going to get bogged down trying to get the lexer/parser to work, you're not ready to work on a full blown language/compiler." Hopefully my story will go the same way as yours.
- eru 13y agoAnd that's probably good advice. Take it as: toy around with lexers and parsers a bit before moving on to more complicated subjects. (Or cheat, and stick with a Lisp like syntax.)
- WalterBright 13y agoI'd also recommend that one master algebra before attempting calculus. I don't think that's negativity, it's just recommending an order in which to do things. Negativity would be "you're not smart enough to handle calculus." Not that anyone has ever followed my advice, anyway :-)
- Ygg2 13y agoWell, having a working lexer/parser is needed to make a compiler, but I see very little reason to write your own parser. Lexer yeah, but from what I've heard parsers are tedious and better optimized by programs. Anyway, thing that helps me do stuff - focus on getting a piece of program right. Then move onto another part. Another good saying, all good software starts simple and evolves into a complex solution. So maybe start with Lisp syntax and evolve it into something more complex, when you're ready.
- pmr_ 13y agoInterestingly there is another article by Walter Bright on writing your own compiler on DrDobbs [1] in which he explicitly recommends to write the parser yourself and I have received similar advice by others that know how to implement compilers. My personal experience in implementing a subset of C turned out similar. [1]: http://www.drdobbs.com/architecture-and-design/so-you-want-to-write-your-own-language/240165488 http://www.drdobbs.com/architecture-and-design/so-you-want-t...
- slavik81 13y agoYou only hear about the people who succeeded when everyone told them they would fail. The many that failed when everyone said they'd fail don't often make the news. People usually have good reasons why they say negative things. It's worth understanding the negative sentiment. For example, victims of certain types of fraud are often warned repeatedly by friends and family that they are going to be defrauded. Some still go ahead and lose staggering sums of money. It's important to really listen to the naysayers, if only to understand the risks. Then you can make an informed choice as to if you'll try your hand at something that's potentially costly.
- avaku 13y agoI agree, almost nobody writes: "I've been warned, but I pursued my dream anyway, and then I failed miserably." I did.
- WalterBright 13y agoI decided long ago that I'd rather try and possibly fail than never try at all.
- Uncompetative 13y agoI just needed a hobby to keep me from getting bored and depressed. I had adapted a screenplay and made plans to write a novel, but my interest in programming had been sparked by an early exposure to Super Star Trek and the profound realisation that this illusion was being created by a magical recipe. I wanted to learn these arcane incantations so that I could fill this black void with my own Universe. Whether it be CRT, LCD, LED, or Plasma, I have been trying to find a way to bring worlds of light to the darkness of a computer display ever since. Yet, as the scale of my endeavour dawned on me I realised that it would be better to spend a couple of years creating tools that I was comfortable using than rely on C++ as others recommended. Unfortunately, my estimate was out by an order of magnitude. Some twenty years later I have only managed to wrangle the process of research and (re)design to a point where I am finally ready to write a comprehensive specification of my multiparadigm "live" programming language and its alternative document-centric graphical user interface only after a self-imposed deadline made at the beginning of last month - otherwise, I'm sure I would still be amusing myself exploring endless "rabbit holes". Despite this delay, I feel that my project is stronger as a result. I really didn't know enough about computer science when I started and I have found that I need to grok OOP and FP to know that they aren't appropriate for my needs. I was denied the opportunity to study the subject at school and had to travel to Foyle's in London to buy obscure computer books for years before unlimited broadband became affordable. Admittedly, I was paranoid that I would find myself several years into programming my videogame only to discover that "high productivity", "spare me the details", programming language was weak in some respect and could not accomodate the retrofit of some unanticipated, but very necessary, feature. Hence, a lot of the work I have done has been defensive: trying to create a future roadmap that specifies how concurrency and parallelism would work even if I plan to leave the implementation of these features until much later. Hopefully, it won't be too long before I am using an integrated suite of development tools (created with my own language), to build my own procedurally-generated intergalactic MMORTSFPSRPG (Massively-Multiplayer Real-Time Strategy First-Person Shooter Role-Playing Game), or "adventure" if you prefer. Without my language/tools I very much doubt I would be able to complete such a grandiose endeavour unaided, and I very much prefer working alone without social expectations or professional deadlines - despite how much of my disposable income it has cost.