3 ms·
This seems like an obvious and easily attainable goal, but in fact, it isn't. The article suggests Python and Ruby provide a better n00b experience and that is
by Confusion 16y ago
This seems like an obvious and easily attainable goal, but in fact, it isn't. The article suggests Python and Ruby provide a better n00b experience and that is far from true. For instance, Ruby becomes a nightmare as soon as you start mixing your own gems with gems installed by the packaging system. That situation is hard to avoid, as distros usually only support outdated Rails gems and the n00b that thinks 'let me just grab the latest stable Rails version from github' is in for some nasty surprises concerning incompatible combinations of gems. We solved this by moving to Enterprise Ruby and keeping everything local and selfcontained, but it is definitely not very n00b-friendly either. With Python I've had similar experiences: when I was in need of a decent XPath library (mind you, this was over 4 years ago), the best one I could find (4Suite) needed to be installed manually, with all the usual problems of missing -dev libs, install paths and whatnot.
A summary of the problem is: the configurations people run are so diverse that it is hard to provide installation instructions that work for all, or even most, of them. As soon as someone wants something not covered by the simplest of tutorials, many of them will run into issues.
I think the only solution is documentation. The only thing that works is catalogueing all known problems people have encountered, so that others can easily find solutions to those problems. The largest problem of this solution is that n00bs need to understand their systems and they often don't.
- derefr 16y agoWhile that's true, I think you're misinterpreting the usage of "n00b" here. People who are new to the language will be developing something small from the start, not trying to mix-and-match bleeding-edge, custom, distro-provided and language-specific-installation-tool-provided packages to achieve large or complex goals. "As soon as someone wants something not covered by the simplest of tutorials", they'll have the confidence in the language required to attack the problem in full force. Think of it like a school system: the required years of school (the problems that everyone has to deal with, starting off) should be streamlined and easily-digested, with a lot of thought and care put into the user experience. Secondary education (the problems that individuals have once they're doing something complicated and meaningful) is allowed to be more free-form, because the user now has a base of skills to fall back upon.
- dedward 16y agoWhile true - Clojure,with it's java dependencies, is a good few notches harder to figure out by brute force - or at least it feels that way. I picked up Ruby basics in a weekend of hacking around. I know there are still some things to figure out re: gems and big project management... but none feel insurmountable. Python - same deal. Clojure, on the other hand - has all this buzz on the net, but it's just that-much-more-complex to make even a seasoned language n00b a bit put-off. (if you don't have your head firmly around the java build process and basic librarires, it's hard to get past the repl in clojure)