Posted on 02/02/2013 6:53:38 PM PST by SeekAndFind
Hm, I can see that; concurrency isn't really taught well -- and it's sad that a lot of languages rely on the OS-thread/library method rather than designing for it.
Because if it was a language-level part of the language you could apply static-analysis (and, prior that, design the threading to eliminate some of the common errors encountered w/ threading). [Ada's TASK construct, using rendezvous, and more recently [Ada 95] protected objects, are examples of the language addressing the problem.]
But it seems that "the industry" will be sticking with the add-on/afterthought method for a while. :|
Hrm... I thought the point is that you didn’t need to acquire much learning to be able to get started.
JQuery is a library (collection of pre-built programming behaviors) for JavaScript.
Yeah, I caught myself.
“... that run across distributed devices.”
Sorry. I was discussing languages people actually use.
It’s not. You can’t define it to be whatever you want just to suit the fact that the idiom is used incorrectly. A learning curve is a graph of knowledge acquired vs. time.
Ah, so because I use it I'm not a person. Gotcha. [/sarc]
Usage of a language is irrelevant to the discussion of language features, or it's 'style'. There are many unpopular languages which I would like to learn some level of proficiency [more than just "I've heard of..."], precisely because, if nothing else, they will give me more tools & understanding to address the problems of problems [which programming is]
LISP [functional programming],
Prolog [Logic/goal-based programming],
Forth [advancement/development via continual addition of 'words'; stack-based],
PostScript [addressing imaging issues; stack based],
Snobol [string manipulation; from reports an order-of-magnitude more 'powerful' than regex];
these have [vanishingly?] small user-bases [in general programming] but are interesting in 1. what they allow, 2. how they address programming in-general, 3. how they address their own 'focus'/specialty.
To dismiss (out of hand) a language because it is unpopular from qualifying for consideration in a discussion about some general-attribute indicates nothing about the language brought up, but it does say something about you, and not really a good thing: that you are a "me too" sort of programmer, going with the flow and, more importantly, not thinking about your trade -- and if you are not thinking about your trade, then how can you be trying to improve it, either by improving yourself or by improving a language, or even improving methodology ("best practices")?
Wikipedia:
A learning curve is a graphical representation of the changing rate of learning (in the average person) for a given activity or tool. Typically, the increase in retention of information is sharpest after the initial attempts, and then gradually evens out, meaning that less and less new information is retained after each repetition.
Means that you could graph knowledge against the sum-total of the effort -- that is the 'work' x repetitions -- this is equivalent to the integral of what you described... which is *STILL* a graphical representation of the items in question (though indirect), just as the derivative would be a graphical representation thereof (readily showing the changes in the learning rate) -- all three functions show the same underlying data, just with different aspects readily visually accessible.
Much of the comparison is apples and oranges. Perl is used mainly as a quickie scripting languge for sysadmins, while C++ is used for heavy lifting and enterprise-grade apps.
Python is one of the few computer languages that works well in both realms. It is used in huge enterprise frameworks (like Zope) and yet “2+2” is also a valid Python program that you can put into a .py file and run.
I would have liked to have seen PowerShell included on this graph. Although it is a bit wordy it runs rings around Perl and shells like bash.
PowerShell also scales up — Microsoft put a thousand PS modules in Windows Server 2012, some of them pretty big.
What are you? Five? [Protip: The giveaway on that is the </sarc> tag.]
Playing with languages isn't the same thing as coding in them. I've coded in 370 Assembler, various micro processor Assemblers, all dialects of FORTRAN since FORTRAN IV, Algol, Pascal, Delphi, PL/I, APL, Prolog, C, C++, C#, Objective-C, Java, and most known idioms of Basic. FOR MONEY. Let me stress that: FOR MONEY. If you aint doing it for money, you're just a hobbyist. I don't have time for hobby languages.
And I'm not the least bit interested in lectures about "best practices" from pedants who don't know anything about my code.
The fact that you think fooling around with hobby languages makes you a "sophisticate" thinking about the "problem of problems" says more about you than it can ever say about anyone else. See how that ad hominem thing works?
Read Rudin, or Herstein or Berkoff and McClane, Spivak or one of the other great mathematical expositors if you want to vacation in pure abstraction, not stupid kiddie languages. Read Cohen's book on the Continuum Hypothesis.
Lisp? Seriously? Lisp. My gawd.
I did say it was about functional programming; are there better FP languages -- probably. (I don't know them as I haven't gotten around to learning FP; though I do know some of the semi-recent buzzwords, like closures, come from that branch.) Does that diminish the value of learning FP? No.
My point, which you missed, was that looking at different languages can be instructive in [and of] itself.
Read Rudin, or Herstein or Berkoff and McClane, Spivak or one of the other great mathematical expositors if you want to vacation in pure abstraction, not stupid kiddie languages. Read Cohen's book on the Continuum Hypothesis.
I have mixed feelings about pure math -- it is useful, most of the time, but the leap from the abstraction to the applicability is admittedly difficult for me at times. It's the area between the hearing it and "the light comes on", when you've only got it by the tips of your fingernails that I find most uncomfortable.
And I'm not the least bit interested in lectures about "best practices" from pedants who don't know anything about my code.
True; I know nothing about your code. I know only how you've presented yourself.
Playing with languages isn't the same thing as coding in them.
This I agree with -- which is why I said that it needed more than an "I know about" level of knowledge.
I've coded in 370 Assembler, various micro processor Assemblers, all dialects of FORTRAN since FORTRAN IV, Algol, Pascal, Delphi, PL/I, APL, Prolog, C, C++, C#, Objective-C, Java, and most known idioms of Basic. FOR MONEY. Let me stress that: FOR MONEY. If you aint doing it for money, you're just a hobbyist.
I've done paid work in PHP, Delphi, and C#. -- but here you're making a big mistake; just because I'm not getting paid for my work with Ada, which I'll admit is hobbyist in-nature, does not mean it is not helpful in my paid work. Indeed, consider writers -- virtually every one that talks about becoming a writer to those who ask give two pieces of instruction: read and write. (The reading lets you see how things are done, from grammar to story-construction; and the writing is exercising and applying those yourself.)
I don't have time for hobby languages.
I'm rather underemployed -- so I do.
But even so, even though I hated using C & C++ in school and was vocal about it (and its design deficiencies), I would not begrudge anyone who said "C++ has feature X" when the topic was X.
What are you? Five? [Protip: The giveaway on that is the tag.]
Perhaps I should have used a </deadpan> tag then?
I'm still a fairly young man.
Oh good grief. Not this ridiculous crap again. "The fact that I'm interested in kiddie languages and you dismiss them says everything about you ... "
Um, on this thread I've mentioned Prolog, Pascal, Delphi, C, C++, C# -- if those are kiddie languages why do you mention them in your "I got paid for them" rant? It seems more a disparaging term than that of 'hobbyist'.
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.