Slashdot Mirror


User: chromatic

chromatic's activity in the archive.

Stories
0
Comments
2,306
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 2,306

  1. Re:Back to Basic on What Makes a Programming Language Successful? · · Score: 1

    In Perl, you work with the language, you get unreadable code.

    I'll say. The magic glitter Python sugar unicorns never refactor my Perl programs for me. Jerks.

  2. Re:Your wait is over... on What Makes a Programming Language Successful? · · Score: 1

    How do you know that $foo is not an array?

    Because I took the time to learn Perl.

    Why would [bar] be a literal string rather than a regular expression that matches one of 'b', 'a', or 'r'?

    That depends what $foo contains. What if it ended with a single backslash?

  3. Re:Off the top of my head? on What Makes a Programming Language Successful? · · Score: 1

    If something is unknowable, then the Smalltalk IDE cannot know it.

    What you're missing is that there is no real static analysis phase in Smalltalk because writing a program is manipulating a running image. As soon as you write the method, it's available in your image, with all of the AST-reflective goodness that that implies.

    What Eclipse does -- what I believe you're saying is what's only possible with static analysis of source code -- is to compile chunks of source code into an AST which the editor knows how to query and manipulate. Because there are some static type guarantees, you can perform flow analysis and various type algebras to prove or disprove certain theorems about the code.

    What Smalltalk does is to compile chunks of source code into an AST (or bytecode or an intermediate representation or however the particular implementation does it) and graft that directly into the running image itself. The IDE is part of your program is part of the environment (the image). Now there are certain things which are completely undecidable, but the same dispatch mechanism which resolves a call to a method at runtime lets you resolve a call to a method at analysis time, because you have the same information available.

    As for technical details of how that works, I'd have to finish reading the Smalltalk implementation book or the Strongtalk papers, as I'm not 100% sure how to integrate a JIT with such a system. I'm not going to guess at how they work as if I were an expert on the implementation.

  4. Re:Off the top of my head? on What Makes a Programming Language Successful? · · Score: 1

    You say its always runtime, but thats clearly an exaggeration at minimum, and just being snarky (in your words) at worst.

    For someone who admittedly doesn't know much, if anything, about Smalltalk, you're certainly quick to tell people what Smalltalk can and can't and does and doesn't do. Please feel free to do your own research.

    Not to mention fancy stuff like walk up the call hierarchy, do refactorings, do renames, etc.

    I don't know enough about pre-1980 Lisp to know for sure, but I do know that Smalltalk could do all of these things before Oak was even a glint in Gosling's eye and when Eclipse was still VisualAge.

  5. Re:Off the top of my head? on What Makes a Programming Language Successful? · · Score: 1

    Well, thank you for not reading what I wrote at all.... If you dont know the answer, its okay to say so.

    Put your snark back in the can. Your assumptions are showing.

    However, at design time, the state is completely non-deterministic (or at least trivially can be)...

    The Smalltalk IDE is part of a running Smalltalk image. Your program modifies the image in place. There is no distinction between design time, compile time, and run time.

    Therefore, at runtime, there is one and only one state, so the outcome is easily determined.

    Yes. That's exactly how it works.

  6. Re:Your wait is over... on What Makes a Programming Language Successful? · · Score: 1

    For the other side of the story, consider

    $str =~ s/($foo[bar]/$arr{$1}/g;

    which no real person understands. (What kind of variable is 'foo'? Is 'bar' are bareword? ...)

    $foo is a scalar. [bar] is a literal string. %arr is a hash. You're missing a closing parenthesis.

    I guess this makes me a fake person.

  7. Re:Off the top of my head? on What Makes a Programming Language Successful? · · Score: 1

    Given that, how does the Smalltalk IDE/compiler determine whether the new/modified method is there during design-time, given that its a conditional runtime modification?

    The same way that the runtime determines whether the new/modified method is there.

  8. Re:Off the top of my head? on What Makes a Programming Language Successful? · · Score: 1

    The result is that its IMPOSSIBLE for the IDE or compiler or static analysis tool to know whether a method exists, or I've passed the right number/type of parameters in.

    Smalltalk can do that.

  9. Re:The Psychology of Java Haters on What Makes a Programming Language Successful? · · Score: 1

    One nice thing you can definitely say about Java as a language is that code that is poorly written in Java is easier to read than code that is poorly written in Python or PERL.

    That's a silly comparison. No one writes code in PERL. It's a joke language.

  10. Re:I don't really get the Java hate around here on What Makes a Programming Language Successful? · · Score: 2, Interesting

    You'll note that despite those two great features, Perl continues to lose popularity, mostly to Python.

    Popularity of what? I've seen various statistics, and the job trends and book sales figures (for two examples) disagree with this assessment.

  11. Re:This is rediculous on What Makes a Programming Language Successful? · · Score: 1

    ... if you look at a chart of language uses...

    That's a chart of book sales figures for a given period of time. That chart leaves out a lot of factors peculiar to the business of selling books.

  12. Re:Off the top of my head? on What Makes a Programming Language Successful? · · Score: 1

    Ruby was created because the Object model in Perl was understructured and therefore impossible to engineer with.

    Ruby predates Perl 5, so that can't be true.

    (Also the Perl 5 object model is a port of the Python object model.)

  13. Re:brevity and clarity, and library interface on What Makes a Programming Language Successful? · · Score: 1

    For me, the biggest improvement from Perl 5 to Perl 6 is the ability to just call on external library functions. If I understand Perl 6 correctly, you need only do the Perl 6 equivalent of "#include " and then you can call.

    That's one of our Google Summer of Code projects, actually.

  14. Re:readability on What Makes a Programming Language Successful? · · Score: 1

    it is very difficult to write unreadable code in python, for two key reasons:

    Neither of those two key reasons were consistent naming conventions, good factoring, short methods, logical encapsulation, intelligent use of domain concepts, high-level documentation, a comprehensive automated test suite, or any of a dozen other features which have much more to do with maintainable code than enforced indentation, which programs such as tidy can solve for other languages trivially.

    I'll raise you a counterpoint: variables which spring into existence automagically. That is not my favorite feature of Python.

  15. Re:LOL perl on What Makes a Programming Language Successful? · · Score: 1

    Awk will trade you a new sense of humor for its creaky, thirty-year-old joke.

  16. Re:Very defensive about Vista. on Bill Gates: Windows 95 Was 'A High Point' · · Score: 1

    In the beginning, FLOSS was nothing more than a hobbyist movement.

    ... except for all of the professional developers and system administrators who relied on it to get their work done.

  17. Re:Beyond Good & Evil 2? on Ubisoft Announces Beyond Good & Evil 2 · · Score: 1

    He did it out of love.

  18. Re:Is KDE Taking the Lead? on KDE 4.1 Beta 1 Released · · Score: 0, Flamebait

    95% of users won't want to change this behavior, and those who do won't have any trouble figuring out defaults write anyway.

    I'm not sure that you can call a feature "discoverable" if you have to play "guess the combination of terms in your favorite search engine" to figure out if it even exists.

    ... accessible through GConf...

    That's very nearly the last word I'd ever use to describe GConf. Are you sure you didn't mean "soul-suckingly unusable"?

  19. Re:hmmmmm Vista... powershell ... winfs..... etc on Windows 7 Won't Have Compact "MinWin" Kernel · · Score: 1

    With the Linux desktop, whichever variety you choose, there remains large technological advancements before it is usable by the general public.

    The ubiquity of pre-installed Windows is not a technical problem.

  20. Re:Wii Sports Experiment on Consumer Reports Gets Its Game On · · Score: 1

    A pound a week is definitely doable, and running two miles a day isn't a huge amount of exercise, if you're in reasonable shape. (If you're between 5'10" and 6'1", then 170 pounds is probably reasonable shape.)

  21. Re:Wii Sports Experiment on Consumer Reports Gets Its Game On · · Score: 1

    Are you sure? Reducing your intake by 250 calories a day and burning an extra 250 calories per day from exercise will take off a pound a week. That's reasonable.

  22. Re:Well, for one thing.. on Why Buy a PC Preloaded With Linux? · · Score: 1

    ... unless his time is actually worth less than $50 per hour. I don't make even close to that much...

    Think of it as a consulting rate. In that case, you'd have to pay self-employment tax, health insurance, electricity, office space rent, and other incidental costs that your employer now pays. Your time may indeed be worth $50 an hour.

  23. Re:Windows 95 called.... on A Look At the Lightweight Equinox Desktop Environment · · Score: 1

    If anything, they would have one picked for them by somebody who (hopefully) has a grasp of their capabilities.

    That seems like a safe guess.

    However, I do think the Win95 interface is pretty easy to get used to.

    Several hundred million Mandarin speakers probably think tonal languages are pretty easy to get used to. I suspect familiarity helps.

  24. Re:Windows 95 called.... on A Look At the Lightweight Equinox Desktop Environment · · Score: 1

    Who on earth doesn't know how to use it?

    A few billion people.

  25. Re:Not our experience on Mozilla Dev Team On Firefox's Success · · Score: 1

    With transparency and inclusivity, the project should already have accounted for their needs.

    Have you ever seen that work?

    Me neither.