9 ms·
Richard Stallman: How I do my computing (2015)
- gamache 10y ago> The most powerful programming language is Lisp. If you don't know Lisp (or its variant, Scheme), you don't know what it means for a programming language to be powerful and elegant. Once you learn Lisp, you will see what is lacking in most other languages. Then: > My favorite programming languages are Lisp and C. However, since around 1992 I have worked mainly on free software activism, which means I am too busy to do much programming. Around 2008 I stopped doing programming projects. As a result, I have not had time or occasion to learn newer languages such as Perl, Python, PHP or Ruby.
- sdegutis 10y ago...or Java or C# or Scala or Haskell or Rust or OCaml or... There's a whole lot to the programming world than disproportionately popular dynamic languages. What is so great about Lisp that other languages don't have? Macros? Simple syntax? I mean, that's basically it, right? This is just fanboyism for a language he has nostalgia for. Nothing else.
- outworlder 10y agoIt's powerful and elegant, as he puts it. I happen to agree. It does not mean that other programming languages do not have merits though. Also, is it really "nostalgia" if the language is still in use? Some dialects, even more so.
- nickpsecurity 10y agoIt's a combination of code/data equivalence, syntax that makes that useful in development flow, ability to do DSL's, and conceptual simplicity of the core features. I mean, basic LISP interpreter takes a page or two to write in the language with that interpreter able to bootstrap features of about any other. Combining that with a professional LISP can have a profound, combined effect on people that irritates them when they use tools with less power. Edit for nice example of ot making hard things easier: https://news.ycombinator.com/item?id=9699065 https://news.ycombinator.com/item?id=9699065
- jwdunne 10y agoIt's not about what other languages don't have. It's that they can't have something that Lisps can't have.
- mschaef 10y agoIt's hard (if not impossible) to pick a single attribute of 'Lisp' that's shared by all the languages that are part of the Lisp family of languages. There are Lisps without macros, there are Lisps without the simple syntax, there are Lisps without dynamic typing, or lexical scope, or any of a dozen other features that are present in at least on Lisp.... so I think reducing Lisp to a handful of features and calling that 'basically it' is a good way to miss the point. (Not to belabor the obvious One of my favorite points about Lisp was made by Kent Pitman back in 1995: http://www.nhplace.com/kent/PS/Lambda.html http://www.nhplace.com/kent/PS/Lambda.html In it, he describes through a though experiment what it means for a language to be defined by its community and how that impacts its development and use. It isn't as much about the specific features as it is the approach that led the language to get to have those features in the first place. Just to illustrate, the simple syntax is a good example. It's not immediately obvious why simple syntax is a good thing... in fact, given the fact people prefer infix and a big part of the backlash against Lisp is due to the syntax, you might argue that it'd be better for Lisp to drop the syntax entirely. (As was tried in Dylan and Logo) That, you'd lose a lot that's not necessarily obvious. There's a real value in having a concrete syntax for your language's core data types and then defining the language in terms of those data types. The simple syntax isn't the point as much as what it enables you do accomplish.
- wvenable 10y agoThe thing about Lisp is it operates at a lower-level than most programming languages. Not the terms of machine level (like assembly language) but in terms of compiler level (parse trees). There is a simple elegance to it but I also think it pushes a lot of complexity into other places. My opinion is that the trade off in where the complexity is doesn't benefit most programmers/projects -- Lisp users would obviously disagree.
- qwertyuiop924 10y agoAs a lisp user, I would argue that infix syntax, while it appears simpler, puts a lot of cognitive load on the reader that lispers don't have to worry about. In an infix syntax, you have to worry about getting the syntax right, avoiding syntactic ambiguity, and making sure your precedence order is correct. In languages like C++ or Haskell, this can get very complicated. Think of it this way: infix syntax is just another form of DWIM. The computer is trying to act like it thinks the way you do. However, it doesn't, and because it's pretending to, bugs happen. Lisp doesn't pretend, and this helps to avoid bugs.
- wvenable 10y agoI'd argue the differences in syntax in other languages actually make reading the code easier. The consistency of Lisp makes it harder for humans to read. Infix is such a small percentage of what I do, it hardly matters. And where it's extremely critical, I have to share with non-programmer humans so consistency there helps.
- qwertyuiop924 10y agoIMO, it makes it harder for humans to learn, but not to read once they have. >I have to share with non-programmer humans Non-programmers read your code?
- wvenable 10y ago> IMO, it makes it harder for humans to learn, but not to read once they have. Why would it be harder to learn yet easier to read? If anything it's syntax is easier to learn (because there is so little syntax) but harder to read (also because their is so little syntax) and harder to understand (because the syntax doesn't reveal as much semantics).
- qwertyuiop924 10y agoIt's elegant, conceptually simple, and it's just fun to hack. It has a regular syntax, which means that once you learn the syntax you never have to worry about it again. There's no operator precedence, so you don't have to worry about messing that up. It's relatively easy to read (although I've created my share of monstrosities, so it's possible to do so), and you also get the power of macros, which can help to repeat yourself less, and give you a lot of power, should you ever need it (I have hardly ever written a macro, and it's not the main draw, but it's there). It has the ability to add your own syntax, to an extent: You need raw strings, string interpolation, external representations of data, or a more concise syntax for functions? You're covered.
- jomamaxx 10y agoWait, Python, Perl and PHP are 'new' programming languages? Ha ...
- oldmanjay 10y agoA perennial favorite. I never get enough of a person stating their opinions in such assertive terms.
- jowiar 10y agoAs I've grown up, I've realized that "such assertive terms" tend to translate to "I have an unfettered view of the inside of my ass, and I'm positive what everything looks like in here".
- sdegutis 10y agoI once read that those who are prideful (i.e. arrogant, conceited, pompous) are universally despised, because those who are humble recognize and abhor the ugliness of this vice, and those who are prideful can't stand the thought others thinking they're better than them.
- paulpauper 10y agobut then why are many assertive, pompous people successful, but that I don't think that describes Stallman though. He seems pretty down to earth
- LeifCarrotson 10y agoBeing successful does not imply not being despised. In fact, it often seems the two are positively correlated. Success is often shorthand for wealth and power, and there's a lot more to life than that.
- deleted 10y ago[deleted]
- oldmanjay 10y agoNo one is universally despised. I can prove it, because I despise no one.
- gamache 10y ago> A friend once asked me to watch a video with her that she was going to display on her computer using Netflix. I declined, saying that Netflix streaming was such an affront to freedom that I could not be party to its use under any circumstances whatsoever. RMS is a very principled man, but I think he may have misunderstood "Netflix and chill".
- antoineMoPa 10y agoWhat about torrent, mplayer & chill (with `M-X doctor`).
- LordHumungous 10y agoI read that quote in Comic Book Man's voice
- rnhmjoj 10y agoRMS on "Netflix and chill": https://twitter.com/gexcolo/status/637383659318734849 https://twitter.com/gexcolo/status/637383659318734849 I don't know if it's really him, though.
- dickbasedregex 10y agoWhat's with him and birds? Let's not address why I had this saved though: http://imgur.com/a/iGMmb http://imgur.com/a/iGMmb
- racl101 10y agoToo bad. He could've had a helluva time.
- 45h34jh53k4j 10y ago"A friend once asked me to watch a video with her that she was going to display on her computer using Netflix. I declined, saying that Netflix streaming was such an affront to freedom that I could not be party to its use under any circumstances whatsoever." When you refuse netflix and chill due to ideological conflicts with the key distribution model, just stallman things
- marcoperaza 10y ago[deleted]
- bbctol 10y agoThat rider doesn't seem that bad. Sure, it's a little specific and wordy, but there's nothing in there that's really cruel.
- 45h34jh53k4j 10y agoagreed. he asks for a cup of tea, milk and sugar; if you cant provide this he brings his own tea bags. the only thing that may put people out today is his aversion to 'Linux' over 'GNU/Linux' and open source vs free software; this is not unreasonable given his work to promote his own interpretations.
- tumbas 10y agoit must be communist way right? do you do advanced communism like fucking animals?
- SRSposter 10y agoThe free software movement is blessed to have such a soul as Stallman
- wh0rth 10y agoI'm often amazed at what we've done with programming languages. They're perfect examples of accurately and concisely communicate information in a small space
- bertiewhykovich 10y agoI admire Stallman's unworldly, unfettered commitment to his principles. It's difficult to live an ethical life, and twice as difficult to live an ethical life under capitalism. Stallman's manic devotion to assiduously following his own moral compass is, bizarre though its manifestation may be, something we should all aspire towards. That being said, I'm perpetually frustrated by the boneheadedness of his ethical commitments. They strike me as ineffective and, more critically, unsound: it seems to me like Stallman ad-hoc transformed an (absolutely justified) distaste for closed-source software into a system of ethics by, fundamentally, adopting aphorisms as axioms. Whether this was done as a post-hoc justification for his depth of passion in this area, or whether it was just a gradual metastasis, I don't know.
- paulpauper 10y agoI always get a laugh reading his site... he has a lot of rules .. I think that his 'religion' that he imposes on himself
- cakeface 10y agoThere is in fact a religion called Stallmanism. http://stallmanism.wikidot.com/ http://stallmanism.wikidot.com/
- racl101 10y agoI also admire him but I think it's also funny he continues on this dogmatic existence. I think he ought to let himself make mistakes, punch out for the day, crack open a brewski, kick back with an iPad, and listen to some classic rock, Google some porn on pornhub (incognito of course) and just take a load off. Even if he started using closed source products in old age or, God forbid, did anything for profit or selfish reasons, he's still a good guy who made a difference in the world. His legacy lives on in his Copyleft, all those sweet GNU tools and Emacs. But all the same life moves pretty fast. And if he doesn't stop and look around once in a while, he could miss it.
- Freak_NL 10y ago
- oneplane 10y agoBasically he lives in a way incompatible with most of the western consumers. I do wonder what he does for fun.
- phee 10y agoFun use of words given the context, consumers.
- witty_username 10y agoI think it's redundant. Who is not a consumer? You need to consume food, water, etc to live, so to live you must be a consumer.
- phee 10y agoSure, but you'll agree that's not the common acceptation. Anyway, I guess it was a typo for costumes. I found interesting the implication that you need to "consume" to have fun.
- symlinkk 10y ago> `read', `eval', and `print' are all missing in Python don't you get a REPL when you type "python" in a terminal?
- schoen 10y agoAlso, Python has "eval" and "print" functions that are even called "eval" and "print". One could argue that Python eval is different from LISP eval, but I don't understand what RMS means by "missing"!
- Bartweiss 10y ago> Around 2008 I stopped doing programming projects. As a result, I have not had time or occasion to learn newer languages such as Perl, Python, PHP or Ruby. What he means is that he skipped the languages that have it!
- qwertyuiop924 10y agoNot in the Lisp sense: read and eval are joined in python, and print only kind of exists.
- kmote00 10y agoI find it amusing that the line: > I edit the pages on this site with Emacs ... has a formatting error.
- mankash666 10y agoDear HN - at what point does the proclivity towards a philosophy transition to insanity? Is it when an FSF zealot refuses medical treatment demanding the source code of the firmware used in his life-saving medical device? Is it when he refuses to use the roads paved by insert paving device here running closed source software?
- grawlinson 10y agoI think this part of his notes would be relevant: >I firmly refuse to install non-free software or tolerate its installed presence on my computer or on computers set up for me. >However, if I am visiting somewhere and the machines available nearby happen to contain non-free software, through no doing of mine, I don't refuse to touch them. I will use them briefly for tasks such as browsing. This limited usage doesn't give my assent to the software's license, or make me responsible its being present in the computer, or make me the possessor of a copy of it, so I don't see an ethical obligation to refrain from this. Of course, I explain to the local people why they should migrate the machines to free software, but I don't push them hard, because annoying them is not the way to convince them. >Likewise, I don't need to worry about what software is in a kiosk, pay phone, or ATM that I am using. I hope their owners migrate them to free software, for their sake, but there's no need for me to refuse to touch them until then. (I do consider what those machines and their owners might do with my personal data, but that's a different issue, which would arise just the same even if they did use free software. My response to that issue is to minimize those activities which give them any data about me.) >That's my policy about using a machine once in a while. If I were to use it for an hour every day, that would no longer be "once in a while" — it would be regular use. At that point, I would start to feel the heavy hand of any nonfree software in that computer, and feel the duty to arrange to use a liberated computer instead. While his views can be seen as extreme, there's a hint of open-mindedness scattered throughout.
- Bartweiss 10y agoI think it's fairly clear he's not at insanity yet. Yes, the man is a proper ideologue, in a way that most of us will never be about anything. But even in this list, he mentions using computers with non-free BIOS options, accepting trivial-case non-free Javascript, and otherwise conceding to basic common sense. He even acknowledges that he'll use totally closed software in incidental contexts like a library computer! He goes much further out of his way than most of us would, certainly. We all have standards for 'acceptable inconvenience', and his standards would drive me mad. But even Stallman isn't practicing the kind of zealotry those examples imply.
- GrinningFool 10y agoWhile I don't agree with his stance on a number of things, I find the consistency and unapologetic nature of posts such as these refreshing. This is the thing I believe. You don't have to, but here's why I think it's wrong not to. A case can be made that they're too set in stone, with no flexibility - but isn't that what makes them principles? They are core beliefs and in absence of fundamentally view-altering events, they seldom see changes after we reach maturity. IMO if you find yourself rationalizing your way around your own principles, then what you have are a set of things you'd like to believe about yourself - which is quite a different thing. For as many years as RMS has been in the public eye, I've never seen him rationalize away his principles for the sake of convenience. Agree with him or not, that's a rare thing and I can't help but respect it.
- VladKovac 10y agoHow is that refreshing? This has basically been the natural state of human thinking until maybe around the enlightenment. People used to just say things like "all is water" or "all is fire" in very principled assertive ways all the time. What I find refreshing is the tiny tiny tiny percentage of people that treat their beliefs like a probability distribution that they update very frequently with new empirical and analytic information.
- GrinningFool 10y agoBut we're not talking about a mis-evaluation of facts or insufficient data to form a proper conclusion. The core belief here is along the lines of "data should not be constrained, and my access and usage of data is nobody's business but mine". People say things like, "all software should be free" but continue to pay the bills by working for a non-free company. They say, "I think DRM is wrong" but many will still buy DRM'd content when they want it badly enough. Coming across someone who holds a firm, clearly defined belief (again, regardless of whether I agree with the belief - that's not related to the point I'm trying to make) and who also adheres to that belief in all aspects of life - that's the refreshing thing.
- Aloha 10y agoI can't say I disagree with him on many points - I just have too much shit to do. I also want stuff that works over purity. He even tacitly acknowledges that he's in a special situation.
- nhatbui 10y ago> I skimmed documentation of Python after people told me it was fundamentally similar to Lisp. My conclusion is that that is not so. `read', `eval', and `print' are all missing in Python. Maybe I'm getting lost in the semantics but doesn't Python have a REPL a la the interpreter?
- dickbasedregex 10y agoYes. Also, there absolutely are all three functions. I don't know what the hell he's on about. https://docs.python.org/2/library/functions.html https://docs.python.org/2/library/functions.html
- cytzol 10y agoThe point he's stuck on is that the versions of 'read', 'eval', and 'print' in Python aren't the same as the ones in Lisp. In Python, you read a string, eval that string into a value, then print that value. The intermediate representation is a string -- just a bunch of characters. In Lisp, you read a data structure, eval that data structure into another data structure, then print out its form -- nested lists and atoms that you can inspect and manipulate, rather than characters that you need to parse to do anything useful with.
- pyrophane 10y ago> After a few years I found out that this was due to the hard keys of my keyboard. I switched to a keyboard with lighter key pressure and the problem mostly went away. My experience as well. I'd been using Apple's keyboards for years, and was experiencing hand pain. I switched to a nice mechanical keyboard that activates with a click part way down so I don't need to bottom out the keys. The hand pain went away and I can't stand typing on those "chiclet style" keyboards now.
- Freak_NL 10y agoEvery coder should take the time to find the keyboard that suits their body best once funds allow it. I can't imagine doing serious (development) work on a laptop for more than an hour or so without a decent keyboard (currently using a DasKeyboard with Cherry switches), a well-positioned monitor, and a good mouse (a left-handed Razor Deathadder now). Still I see a lot of developers just pop open their laptop on a desk and work like that for the rest of the day…
- pyrophane 10y agoI agree. You can sort of get away with abusing your body until you can't, and a lot of people ignore small pain and discomfort in favor of convenience. I know too many devs who have had their productivity seriously inhibited by RSI pain. I've also switched from the "magic trackpad" to a trackball. I lose a few of those fun gestures, but the rotation on my wrist from swiping on a pad was doing me no favors, and now I genuinely prefer a trackball to anything else for "work" activities.
- qwertyuiop924 10y agoI end up working on a laptop a lot of the time, but nothing feels quite as good as my Unicomp Model M. And Unicomp stuff sells for cheaper than a lot of the Das stuff, plus it's nicer IMHO (but that's just me). I never much saw the point of a good mouse: You're not going to be using it all that much (emacs user), you're not getting much in ergonomics out of it, and you probably don't need the sensor accuracy. Am I wrong about where the money goes, or something?
- Cyclone_ 10y agoJust imagine how scary it would be if this guy had any real power
- jorgec 10y agoA good programmer is measured by the programs that he does. Sometimes you can win the day by programming in visual basic, if works and its efficient then why not?.
- pyrophane 10y ago> An explanation of the concept of designing a "user experience" which also shows why I find it loathesome. This is why I want stallman.org to remain simple: not a "user experience" but rather a place where I present certain information, views and action opportunities to you. A lot of what user experience has become is trying to induce users to do what you want them to rather than "how do I make it easy for the user to do what they want." That, along with a tendency towards what I perceive as "over-design," makes this viewpoint refreshing.
- Demoneeri 10y agoI'd like to live my life with strict principles like that. Non-aggression principle style. Unfortunately, other statists don't let me. There is one other small thing too, I like Microsoft products.
- deleted 10y ago[deleted]
- qwertyuiop924 10y agoI admire Stallman. I think he's crazy, or at least a little weird, but I can respect him: he's extremely talented, he has his principles, and dammit, he sticks to them. It's like Randall puts it: This is a man who believes in something.
- strictnein 10y agoIt's weird that he devotes all of this time to not being tracked online and then shares this one bit of info: > "I have a Twitter account called rmspostcomments, which I use to log in on other sites to post comments on articles."