1.

Solve : Perl is a socially-acceptable form of Visual Basic?

Answer»

Raymond Chen says on The Old NEW Thing:

https://blogs.msdn.microsoft.com/oldnewthing/20160927-00/?p=94395

Quote

Worf noticed that a number of developer tools are written in perl and wonders what's up with that.

Simple: Perl is a socially-acceptable form of Visual Basic.

In other words, just like how Visual Basic is a great way to throw together a quick little GUI program, perl is a great way to throw together a quick little developer tool. In both cases, the language is loose enough to let you get away with a lot of sloppy coding techniques, and a lack of discipline can result in an unreadable mess.¹

The difference is that whereas people look down on Visual Basic programmers as talentless hacks who couldn't code their way out of a paper bag, people look at perl programmers as wizards who can perform miracles with their arcane incantations that to the uninitiated are indistinguishable from line noise.²

¹ I'm not saying that the developer tools are an unreadable mess. Just that it's easy to write an unreadable mess in perl.

² You can tell I'm an old timer because I said "line noise". Kids these days have never experienced line noise.

For years I have been using a tool called Get_iPlayer to download radio and TV programming from the BBC iPlayer service. The engine of this is a perl script with 12,211 lines, and i must say I have felt quite happy HACKING around with it to customise various aspects. Even with no prior exposure I soon felt happy with the syntax, especially as there is a lot of perl guidance out there for the hard bits.

Love the second comment in this snippet I just noticed:

Code: [SELECT]# Clear all the PVR searches in %{$pvr}
sub clear_list {
my $pvr = shift;
# There is probably a faster way
delete $pvr->{$_} for keys %{ $pvr };
return 0;
}
Microsoft Basic has been around for a long time. It and other Basic dialests did a lot to develop the Personal Computer legacy.

Recent versions of Visual Studio can be adapted to serve as a IDE for other computer languages.

Quote
Search Results
Built-in languages include C, C++ and C++/CLI (via Visual C++), VB.NET (via Visual Basic .NET), C# (via Visual C#), and F# (as of Visual Studio 2010). Support for other languages such as Python, Ruby, Node.js, and M among others is available via language services installed separately.
https://en.wikipedia.org/wiki/Microsoft_Visual_Studio
and...
https://msdn.microsoft.com/en-us/library/aa292164(v=vs.71).aspx
Quote
Microsoft partners with many companies to bring their languages to the .NET Platform. In addition to the languages provided by Microsoft, there are many alternative languages that target the .NET Platform, including:
COBOL for Microsoft .NET.
Perl for Microsoft .NET.
Eiffel for Microsoft .NET.
Python for Microsoft .NET.
Pascal for Microsoft .NET.
Mercury for Microsoft .NET.
Mondrian for Microsoft .NET.
Oberon for Microsoft .NET.
Salford FTN95 (Fortran) for Microsoft .NET.
SmallTalk for Microsoft .NET.
Standard ML for Microsoft .NET.
Dyalog APL for Microsoft .NET.
Notice there is an implementation of Perl.
This is not new information, But many are not aware of how people are using Visual Studio to do unusual things.

It's interesting that the very first comment there does precisely what Raymond Chen says, and starts slagging off Visual Basic developers!

I think the comparison falls apart somewhat after .NET, though. With earlier versions of Visual Basic and the comparable tooling it was PRETTY cut and dried that Visual Basic was much faster- it was pretty much called a Rapid Application Development tool, after all. But once we jump to Visual Basic .NET I'm not entirely sure the analogy continues, or if it does it isn't really restricted to Visual Basic, as the "RAD" element applies to almost all .NET languages. I'd argue that the looked-down-upon technology that contributes to fast development of GUI programs on Windows could probably be Windows Forms. It's very poorly regarded because it doesn't properly fellate enterprisey developer methodologies.

Fitting into the idea, though, I have a Command-line tool that is about 8 years old now that I use regularly for evaluating math expressions at the Windows command line. It's hardly the only program that does it but I sometimes make use of features like lists and sets whereas most other tools of the same sort are restricted to more standard arithmetic. At any rate, I wrote it in Visual Basic 6 and haven't bothered to replace it. I did rewrite it but I simply don't trust the new version even if it does pass all the unit tests. No unit test can replace 8 years of reliable results, after all.




Discussion

No Comment Found