Clan x86

Technical (Development, Security, etc.) => General Programming => Topic started by: Hell-Lord on April 22, 2008, 11:21:18 AM

Title: Language Popularity
Post by: Hell-Lord on April 22, 2008, 11:21:18 AM
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html (http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html)

VB.. wtf!!
Title: Re: Language Popularity
Post by: Newby on April 22, 2008, 01:11:50 PM
GO VB!!!

err, wait.
Title: Re: Language Popularity
Post by: Joe on April 23, 2008, 04:09:52 AM
I hope that's VB.NET. Which is almost a decent language. At least it compiles to CLR and not the interpreted mess that VB6 was.

I'm disappointed to not see C# rising, especially along with seeing C++ falling.

EDIT -
lol, I think I'll write a bot in PowerShell. Is it actually a language that can do stuff like that? It's in the 21-50 list.
Title: Re: Language Popularity
Post by: rabbit on April 23, 2008, 08:16:06 AM
PowerShell is a shell script, so I doubt it.  And last I checked, CLR was still an interpreted bytecode run by a VM.
Title: Re: Language Popularity
Post by: iago on April 23, 2008, 09:30:22 AM
Quote from: rabbit on April 23, 2008, 08:16:06 AM
PowerShell is a shell script, so I doubt it.  And last I checked, CLR was still an interpreted bytecode run by a VM.
CLR is generally just-in-time compiled to machine code, so that's not quite true.
Title: Re: Language Popularity
Post by: Hell-Lord on April 23, 2008, 10:11:40 AM
The CLR's JIT compiler converts the CIL into native code. And yea it is basically a VM.
Title: Re: Language Popularity
Post by: MyndFyre on April 23, 2008, 11:02:16 AM
It's a VM in the sense that it provides services to the code that's executing in it.  For instance, memory allocation, garbage collection, RTTI, etc.  But to say that it's a VM in the strictest sense is probably innacurate; it's more akin to an extension of the Win32 loader in that, in addition to things like automatic relocation, it also performs compilation.
Title: Re: Language Popularity
Post by: Warrior on April 23, 2008, 05:33:44 PM
Quote from: rabbit on April 23, 2008, 08:16:06 AM
PowerShell is a shell script, so I doubt it.

Not *quite* true, the cmdlets that PowerShell uses are .NET classes. You can use scripting languages, amongst other things to link them together. It's a really flexible environment.
Title: Re: Language Popularity
Post by: Camel on May 13, 2008, 01:01:19 PM
Quote from: MyndFyre on April 23, 2008, 11:02:16 AM
It's a VM in the sense that it provides services to the code that's executing in it.  For instance, memory allocation, garbage collection, RTTI, etc.  But to say that it's a VM in the strictest sense is probably innacurate; it's more akin to an extension of the Win32 loader in that, in addition to things like automatic relocation, it also performs compilation.

Java has HotSpot (which does the exact same thing), but you don't see anyone arguing that it isn't still a VM. By the same token, the native equivalent of .NET code is still running in a VM, because, while application code isn't interpreted, it still isn't self-sufficient. At least in my book, that's the mark of a VM: a machine that visualizes an environment.

I think that most people who see the letters VM and cringe simply don't understand what the term refers to. Virtualization and abstraction are basically synonymous. You can probably guess, for example, that there are several layers of abstraction between your hard-drive's physical platters and the pins on the outside of the box alone. You could say that the black-box is a VM to the storage media. Then there's further abstraction between the ribbon cable and the CPU (the ATA controllers), and in the operating system (the filesystem decoders), and the application software (fopen(), write(), etc).

Frankly, tagging one more level of abstraction (wrapping OS API calls) is hardly something to cringe at.