in reply to Something to meditate on -- the need for a trendy perl?
I came up with something that, as usually, is a bit long, but I'm still not covering many points.
If anyone wants to point out better ways of saying things or better things to say, that would be great, as my persuasive skills are not so great. What I have at this point is:
Feedback? Corrections?...Alexander Shukaev wrote: > Dear Linda, > > It feels like Perl is not very trendy these days. Trendy? How trendy is US English V. say UK english? How about Slovakian or Portugal? Are they on the the trend list this year? Should they be dropped? Right now the trend is toward limiting user choice -- w/iphone and it' +s "walled-garden" being very popular. They charge more / feature than most other manufacturers, Users are expected to be "not bright" -- the +y can't be trusted to change a battery. yet that's the current trend. Trend is to put things in the cloud, more so, and give up home PC's an +d turn them into remotely controlled appliances (w/secure boot and checksum'd software) making them more into game and entertainment consoles than general purpose computing devices that allowed circumvention of the previous controllers of what we "consumed" (i.e. large publishers, the music industry that was mostly corrupt and promoted a small cadre of "pop-stars", vs. all the home made stuff th +at has come since the PC empowered individuals to publish their own material (books (apple was sued and LOST for trying to promote deals with the old publishers that would help them retain control); music an +d video. Trendy is often a poor indicator of what is good. The languages you cite are trendy because they are simple. Python, especially, is very good for teaching concepts because it restricts th +e user's choices and when asked to solve a problem, many will end up looking very similar. It is, today, what pascal was back in the late 70's. A way to teach and use concepts and write libraries in. But you say you haven't seen much in perl+vim -- how have you looked? Or did you look at all? Try "search.cpan.org" and search on "vim" I s +ee about 270 scripts that use vim as a debugger, or packager, wiki creati +on and editing packages, using LaTeX to do typesetting from vim, website creation addons, and tons of system administration scripts. Computer system administration isn't very trendy -- but without it, you'd have nothing you are using today. No internet, no world connections, no trends except what are set by the large corporations... How about this -- how many filters can you write in python, without using a separate file? or -- more precisely, how many python 1-liners can people easily write and use? What is the option in python to wri +te and execute a line of code? Can you write a 1 line python filter capitalizes all occurrences of your name but deletes all occurrences o +f. Doing things fast and simple doesn't seem to be trendy -- people want +to write "apps" to publish in the "app store". How about multicore/multithreaded apps? How trendy are those? Recently someone did a program to test timekeeping in python. It used 9 threads. I completed in 67.35 seconds using 181.94% cpu (100%=1 cor +e, so 1.82 cores on a 12 core machine. As a curiosity I wrote the exact same program in perl to see howit wou +ld perform (cuz I thought the MD5sum was slow)... turned on my head. Same** program in perl 3.36 seconds using 870% cpu. **-I didn't use any perl tricks -- I tried to follow the python example as closely as possible (to see code for each, and compare, see http://www.perlmonks.org/?node_id=1076596). So for the 9 threads: lang #thrds #cores_used %efficency clocktime cputime(Usr+Sy +s) python 9 1.82 20.2% 67.35s 122.53s perl 9 8.70 96.7% 3.36s 29.23 >From the above, stated as percentages or multipliers, perl is 478% more efficient in making use of multicore resources. In real time, python takes 64 seconds longer over the base time that was needed, of 3.36s. Python is 1900% SLOWER. Someone mentioned python might not be optimal in parallelism due to threading problems. So look at the actual amount of CPUtime used for each to do the work. 122.53/29.23. For heavy number crunching, perl (with max precision possible in x86-64 HW, takes less than 1/4th the time, i.e. perl is 4.2x the speed of python. Python may be trendy, but for getting actual work done, perl is not only considerably faster, but has most all the libraries needed to do it's work *built-in*. -- know wondering about what to 'import'. I could go on for WAY too long, on this, but lets look at who *sets* the trends... The most complicated and central function in text processing -- the regular expression. Did python choose posix RE or extended RE syntax? Nope. javascript and python and most modern languages have copied the perl's regex syntax and features -- and note-- perl has no problem trying to make things *easier* for python developers. When perl implemented named subexpressions or captures in Regex's, in addition to the perl syntax, the Python syntax as added as well to make things easier for those familiar with that syntax. Perl's Regex engine has been described as the 'best of breed' -- with java, javascript, ruby, python et al, all adopting the Regex syntax developed in Perl. If it wasn't for the groundwork laid by perl, you wouldn't be doing scripting in the other languages you are today -- as they would have had to develop, "at least_, their own regex engine. Perl also, BTW has full unicode support, supporting the characters *by name*. No other language has this -- yet. So ok, the other languages are more trendy -- but they are as good as they are today because of the groundwork laid by perl. Besides, you aren't really *adding* the languages to vim when you create it -- aren't they ALL dll's -- that only load if the language is used? I.e. what you did is made a choice that *prevents* perl from being loa +ded as an option -- preventing current scripts from working, and new ones being easily developed. But for all of those languages (not sure about lua), the actual support for them is in an external library -- s +o the users don't actually 'pay' for the languages they don't use as the +y are not loaded and -- if they don't use them -- they don't even need t +o be on their machine. > Support for that many languages was added because certain popular pl +ugins > are written partly (or fully) in these languages rather than Vim Scr +ipt. > Python is probably the most popular language for extending Vim right + now, > perhaps after Vim Script. Ruby goes next, then Lua. But I've never c +ame > across a single plugin which would rely on Perl to be honest. May I +ask > why you think that Perl is so important for that Vim distribution? #2 on the list for http://www.vim.org/sponsor/vote_results.php. was an IDE. You should check out:. https://metacpan.org/release/Vim- +Debug. It's already been done for perl and from the documentation it should be extensible to other languages..but can't say for sure. However, it + is written in perl... So honestly, you didn't come across a single plugin that would rely on + perl? Where did you look?
Appreciated! I tried to stay civil and such, but it was pushing my buttons more than a bit...(*sigh*)...
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: A response?
by Discipulus (Canon) on Mar 12, 2014 at 09:57 UTC | |
|
Re: A response?
by Arunbear (Prior) on Mar 12, 2014 at 18:30 UTC | |
by locked_user sundialsvc4 (Abbot) on Mar 13, 2014 at 01:47 UTC | |
|
Re: A response?
by syphilis (Archbishop) on Mar 12, 2014 at 11:51 UTC | |
by perl-diddler (Chaplain) on Mar 12, 2014 at 17:06 UTC | |
|
Re: A response?
by choroba (Cardinal) on Mar 12, 2014 at 09:09 UTC | |
|
Re: A response?
by einhverfr (Friar) on Mar 25, 2014 at 14:49 UTC |