Well, you will learn a "a huge amount ... by experimenting" in all languages!
But IMHO all these interwoven huffmancoded syntaxfeatures of Perl can only be masterd by reading the fucking manuals.
> What language is there better suited to trial-and-error manipulations?
From what I know ... Javascript! (with some exceptions)
I don't really master Python, from what I've seen it's very orthogonal.
| [reply] |
What language is there better suited to trial-and-error manipulations?
From what I know ... Javascript! (with some exceptions)
To continue our slow-motion conversation ….
I disagree, but I think that it's a real matter of background. I spent a lot of time with the llama book, but sadly without a working Perl installation, before I started experimenting in Perl, and I think that it really paid off—suddenly off-hand comments in the text made a lot more sense, and I felt it got me in really good shape for the camel book.
On the other hand, when I wanted to do something in Javascript, since I couldn't find any good equivalent of the llama book, I went out and found a web page that did something like what I wanted, then tried to adapt it. After a lot of manipulation, over the course of a week or so, it still only sorta-kinda worked; and I didn't understand why the bits that worked worked, or why the bits that didn't didn't, or why the original code was how it was in the first place. I think that what this says is that it's good to experiment in any language (or, to be precise, at least these two languages :-) ) after (or while) reading some introductory documentation; and bad to experiment in any language before doing so.
I think this quote probably cuts right to the heart of our disagreement:
But IMHO all these interwoven huffmancoded syntaxfeatures of Perl can only be masterd by reading the fucking manuals.
I agree that mastering Perl requires manuals (preferably not Mastering Perl itself …) and/or a healthy relationship with perldoc; but I think that one of the great things about Perl is that you can, and should, do something, well before you can do everything. (At least, when I see new intricacies of Perl, I think: “Cool, now I know a new trick that refines my understanding”; whereas, when I see new intricacies of Haskell, I think: “Well, it turns out that I didn't even know what little I thought I knew …”.)
| [reply] [d/l] |
well I don't know if we are discussing the right question and comparing languages on a fair base...
The simpler the functionality of a language is the easier you will be able to "try-and-error" it.
My first language was Commodore BASIC and it's indeed basic, and wouldn't be fair to be compared to something as powerful as Perl.
I agree with you that there not many good sources for JS, basically because most people "try-and-errored" it before writing their manuals. And to be precise I'm only talking about the core language NOT the bitches of DOM or the BOM.
I don't know if I should recommend "JS - The good parts" from D. Crockford, because in comparison to his websites there are not many new information and the structure of the book is somehow disappointing. If you prefer Books buy it!
To get back to Perl, I started Perl coming from Bash with a try and error approach
- and continued for years like that! No books, just online manuals and I'm horrified when I think about the problems I ran in and the code I produced.
PBP definitely changed my live! (more the explanation not the recommendations)
And I think it's reasonable to say that a language which is the KING of golfing has lot's of traps for the unaware.
Just to name a few: The concept of context, two kinds of variables, the difference between $a[1] and @a[1], the difference about defining function with empty prototype () or not...
I'm really impressed by the orthogonality of Python (well in theory), but I'm too fascinated of features like closures to switch now (and get practical experience)
I think my next language will either be Perl6 or Ruby...
| [reply] [d/l] [select] |