Slashdot Mirror


User: Tayssir+John+Gabbour

Tayssir+John+Gabbour's activity in the archive.

Stories
0
Comments
41
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 41

  1. Re:Best Lisp Book: On Lisp on Practical Common Lisp · · Score: 1

    I'm not a fan of SICP, but you may enjoy the video lectures.

    My issue with SICP is it doesn't teach things like errorhandling or macros, and is very recursion-heavy. But others enjoy it, so YMMV.

  2. Re:LISP is amazing. on Practical Common Lisp · · Score: 1
    Please do elaborate. Anyone I know who loves LISP (especiall the macros) has seen it as the "one true way", but I've never had anyone be able to explain the magic to me. Heck, I did some LISP programming for a graduate AI course I did a few years ago, and I still didn't see the magic.

    So, if you could finally clear this up for me, I'd appreciate it.

    I agree the "one true way" thing is a bit disturbing. I think of Lisp as a Borglike language which can assimilate other paradigms. And has a robust set of built-in primitives, so you get things like unusually featureful arrays and rational numbers like 5/3.

    Ideally, the modern Lisper should be equipped to thoughtfully judge other languages. Like MacGyver. MacGyver-oriented programming. ;)

  3. Re:C++/Java/LISP Side by Side Comparison? on Practical Common Lisp · · Score: 1

    Also, Lisp does have "goto"; but in my experience it's always just building material for a macro. So you don't see it; there's just the goto underneath.

  4. Re:Dylan - pretty Lispy on Practical Common Lisp · · Score: 1

    Emacs was successful though, and it doesn't hide its use of parens. And XML/HTML is hugely successful, and it has sharp parens everywhere, which happen to be a lot less readable than Lisp because of end-tags.

    Perhaps the unusual syntax does have an effect, but easy availability is far more dominant.

  5. Re:C++/Java/LISP Side by Side Comparison? on Practical Common Lisp · · Score: 1
    Lately there has been a lot of LISP hype mostly thanks to Paul Graham. I keep hearing "Macros are amazing", "totally different way of thinking about programming".

    That's great and all but I can't find any concrete examples. I want to see a list of problems that are either difficult or nearly impossible with Java/C++ and see LISP's implementation.

    Can anyone help me to get past the hype?

    Good question, I agree Paul never explained macros in his essays. And he doesn't mention the pitfalls of using it too much; I think paradigms shouldn't be like some actor hogging the stage away from the rest of his ensemble.

    The uses range from a complete sublanguage, to warping the language a bit for safety's sake. An example of a minor warping is "with-open-file", which closes a file automatically at its end. In fact, the whole class of "with-" macros is to nicely clean up any resource you might want to use. Minor warpings get rid of repetitive boilerplate code, which just clutter things up and make it less maintainable.

    Another example is "loop". Ever notice that a for(;;) loop can be expressed as a do() loop with some syntactic sugar? Well, in Lisp you can make your own for(;;) loops, instead of waiting for some language designer.

    As we go deeper into macrology, we find there are many domains which your language designer knows nothing about, and neither does 99% of the language's users. But those domains may be expressed very well with a special syntax.

    And the end, you have crazy code walkers and full-blown languages which sit atop Lisp. Qi is one of them, which claims to be "the most powerful type system of any existing functional language". Lisp itself isn't so fancy and functional, but Qi is.

    Also, there's an HTML language, which enables you to not worry about closing tags. It does use parentheses to "close" things, but it's still lighterweight and easier to read.

  6. Re:Practicle Common Lisp???!!! on Practical Common Lisp · · Score: 1
    So we're all agreed, then. LISP code is a fucking mess :)
    I think it can be, if people haven't invested in some skill. For example, an ideal VCR should be much easier to program than Python. (Well, they usually don't get that part right, but VCRs should be easier.) If you had to use Python to program a VCR, people would have some really messed up VCRs.

    But I think Lisp definitely rewards skill, as well as requires it. It's not a deskilling tech.

  7. Re:This is not a troll, but a query... on Practical Common Lisp · · Score: 1

    And the wonderful thing is that you don't have to use the "functional programming" style if you don't want to. I just use loops.

    But I'm not forced to use loops either.

  8. Re:This is not a troll, but a query... on Practical Common Lisp · · Score: 1

    Another one is that you can use normal iteration loops -- I don't remember the last time I used recursion. Lisp has something called "loop" that's like every for(;;) loop in every language I've seen, rolled into one. And then some.

  9. Re:This is not a troll, but a query... on Practical Common Lisp · · Score: 3, Informative
    Could someone proficient in LISP give me three cogent reasons to learn the language?
    Bacon-and-eggs things to help you write more robust code:

    • Powerful basic datatypes. Multidimensional extensible arrays with fill pointers. One-way/two-way/synonym streams, strings with fill-pointers, integer/rational/complex/floating-point/big/fixnum numbers, bit vectors, OOP with metaobject-protocol/{before/after/around}-methods/ multiple-inheritance/multiple-dispatch, errors/warnings/conditions. Etc.
    • Something like XML, but much more readable, built into the language. So you can perform data-directed programming without switching to XML. And unlike XML, Lisp's sexps support more than just plain text.
    • The "Conditions System", which among other things offers something far more powerful than exceptions for error-handling. Imagine exceptions that don't have to just burn up the stack.
    For the moment, let's forget pretty stuff like macros.
  10. Re:This is not a troll, but a query... on Practical Common Lisp · · Score: 4, Insightful
    Of course, these things are true of most any functional language. IMHO, LISP is a poor choice as a starter language if you're looking for the above wins. I would start with Haskell or Scheme and move on to LISP once you had your bearings.
    This is what I did, and it was a mistake for me. Many parts of Lisp are far "newer" than other languages because it is far easier to modernize.

    For example, Qi is built on Common Lisp and claims to have "the most powerful type system of any existing functional language." I think it's a fancy academic language, but the win is that you can combine it with the hardened industrial features of Common Lisp.

  11. Re:The propaganda system on Paul Graham on PR · · Score: 1

    There was a BBC documentary on PR's history. The Century of the Self.

    Available at a number of p2p places, from what I hear, such as ShunTV and this ed2k whatsis thing.

    Incidentally, people may also enjoy the new film, The Corporation.

  12. Re:John Stewart had one of these guys on.... on Paul Graham on PR · · Score: 1
    His name is Frank Luntz, author of the "Luntz Playbook" used by republicans.

    Turns out that Microsoft's use of the word "innovation" is a real winner.

  13. Re:Experience of a Governement Contractor on Pentagon to Significantly Cut CS Research · · Score: 1
    Every time a group open sources DARPA-funded stuff (or the components of it, which is usually the case), other people benefit from the research. This may leave a sour taste in the mouth of the accountants over there.
    Opensourcing basic research threatens future commercialization in many peoples' eyes.
  14. Re:A puppet for the right wing. on Reason Interviews Michael Powell · · Score: 1

    Incidentally, if I sound combative, excuse me. I think of this place as one big flamewar -- and if I mistakenly perceived yours to be, that's my fault.

  15. Re:A puppet for the right wing. on Reason Interviews Michael Powell · · Score: 1
    If Wal-Mart had high-prices, you'd probably complain that they serve only the elite by oppressing the working class.

    It's an interesting tactic to put words in my mouth. I said and believe no such thing: charging higher prices would be absolutely fine, because it wouldn't kill local small business, and Walmart would probably pay employees more reasonable wages.

    Further, I don't talk about "oppressing the working class." That's boring college-talk. In fact, I don't even "complain" about Walmart. I just think they're anti-American; and you asked after all. I'm answering your question, and I thought you asked out of genuine curiosity. (Then again, this is Slashdot. ;)

    There's lots of stuff I could probably comment about in your post, but I think this is the most representative about your perspective.
    Go ahead and comment, just do me the favor of not setting up and burning down strawmen, extrapolating what you think I mean. I wrote a long post, and you should be able to hold up specific examples taken from what I actually said.
    With respect to China - working conditions there have always been harsh, and yet now, because of western capitalist commerce, the standard of living in China is rising dramatically
    To clarify, are you claiming Walmart refuses suppliers which use prison labor and other human-rights abuses? That would give me enough information to fully answer this point of yours. Assuming of course we're discussing out of genuine interest in truth, rather than "debating."
  16. Re:A puppet for the right wing. on Reason Interviews Michael Powell · · Score: 1
    What does that mean exactly? People trash Wal-Mart all the time because they sell non-American-made stuff and extort their suppliers, but they provide generally good merchandise at cheap prices. So do they serve the public good or not?
    No. Providing low prices is not a public good, if by doing so they damage most of the customers (and nation) they ostensibly serve.

    Walmart supplies itself from regions like China with low regard for human rights, where workers are treated badly. If you think about it, American workers and small businesses would have a hard time competing with slavery like prison labor.

    Walmart poverty is such a problem, that frequently its employees can only afford to shop at... Walmart.

    Microsoft has helped lure many a non-techie into the tech world, stoking broad markets that many software engineers and support people make their living on. Do they serve the public good?
    Not likely. Microsoft aims whenever possible to limit competition. For example, Microsoft probably still uses its monopoly position to have hardware manufacturers like Dell sign secret contracts which specify prohibitive penalties if they choose to sell a computer without a Windows license (the "Windows Tax"), or retaliates in some other manner.

    Also, they attempt to apply "embrace, extend, extinguish" strategies to technologies developed for decades under enormous public expense, like the internet.

    As a huge, public corporation without a mandate to do public good, its only goal is to maximize shareholder returns. It is not out to "do good"; any good things it does are incidental to its real goal.

    And what about radio/TV? People (At least those without Tivo) complain about commercials and the corporations that sponsor them, but by and large, you have enjoyed years of essentially cheap/free entertainment. Isn't that in the public interest?

    No. The business model of huge, public corporations like Clear Channel is to sell people to other corporations (advertisers). Since Clear Channel is a corporation without a mandate to do public good, it will not likely air content (news, etc) which would anger too many of its advertisers.

    The New York Times learned not to anger too many businesses at once.

    The airwaves are publicly owned. These corporations only lease it from us. Therefore it is important we manage those airwaves to maximize our interests, just as any CEO would.

    So what do you define as doing things for the public good? As far as I'm concerned, people vote every day with their dollars. They can use that vote more effectively than voting for any politician.
    Many industries are oligarchies. In mainstream personal computing, there are only two main commercial OS choices, Microsoft and Apple. The only competition, which would not exist if software weren't so unusual, is from the Free Software world. Because Microsoft and Apple have an enormous lock on the market.