This is a tough one to answer with specifics, but not all choices one makes in software development are created equal, even using the same language. The more layer upon layer of frameworks you slap ontop of something, the farther removed you get from "what really matters", and if what "really matters" is performance, the person that can program at that "lower level" can do things many, many times faster than people that develop programs by piecing together controls. Sometimes ease of development is more important than raw speed, so its not always the right choice to right at a lower level - ease of maintaining the code is also important and sometimes outweighs raw performance.
I once went head to head with another consultant trying to win a high 6 figure contract for a major financial services firm, we were both selling the idea of a BI/EIS system. He used bloated technology and every step of the way, but it was all "new and shiny" technology that he was very proud of and contained all the right buzzwords.
I wrote mine in asp (asp classic, .net was not out yet) and use custom written, native SQL Server communication methods, with all hand coded routines to generate reports and other similar performance enhancing decisions. He used a report writer plugin and plug-and-play controls to build his system. I did my entire demo over a 28.8 dialup line against my development webserver in my home office 200 miles away - his was done against a much more powerful development server in the next room connected via 100Mbit ethernet and it was still many, many times slower.
When the demo was over I told my clients that my entire demo was done over a dialup line (they assumed it was local). That sealed the deal since most of the users of the system were scattered throughout the country and broadband was uncommon at the time.