DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workloads.

Related

  • Build Quicker With Zipper: Building a Ping Pong Ranking App Using TypeScript Functions
  • 4 Email Validation and Verification Techniques for App Developers
  • How to Build a URL Shortener Web App With Flask Framework
  • Java Module Benefits With Example

Trending

  • Ensuring Configuration Consistency Across Global Data Centers
  • Navigating the LLM Landscape: A Comparative Analysis of Leading Large Language Models
  • Building AI-Driven Intelligent Applications: A Hands-On Development Guide for Integrating GenAI Into Your Applications
  • Concourse CI/CD Pipeline: Webhook Triggers
  1. DZone
  2. Data Engineering
  3. Databases
  4. Hyperlambda, the Fastest Programming Language in the World

Hyperlambda, the Fastest Programming Language in the World

Hyperlambda is arguably the slowest programming language in the world, still its result is probably faster than anything you could do in any other language.

By 
Thomas Hansen user avatar
Thomas Hansen
DZone Core CORE ·
Oct. 21, 21 · Presentation
Likes (3)
Comment
Save
Tweet
Share
59.1K Views

Join the DZone community and get the full member experience.

Join For Free

Hyperlambda is probably orders of magnitudes slower than most other programming languages in the world such as C#, Java, PHP, and Python - Still, when you're done with your project, I can pretty much guarantee you that your project will be blistering fast - Probably orders of magnitudes faster than anything you could possibly build in any other programming language - In addition to that it would scale hundreds of times better than a solution created with e.g. C#, Java, PHP, or Python. How on earth is this even possible? Well, let's try to understand it with an analogy originally created for children ...

To understand how Hyperlambda can be both the slowest and the fastest programming language in the world, you must realise that it's almost impossible to build a perfect app using "low level" programming languages, such as C# or Java. In addition, some of your favourite C#/Java/PHP/Python/etc "abstractions" are so sub-optimal in low level programming languages, that it's almost impossible to believe in before you've been carefully explained their disadvantages. So let's start with the goto O/RM tool of choice for .Net developers; Entity Framework.

Do you care about code quality? Read through Thomas' perspectives to improve code quality with Hyperlambda.

Entity Framework

As most .Net developers starts out their projects, they will typically immediately add Entity Framework from NuGet. This is the equivalent of "decorating" a Formula 1 car with a parachute, under the arguments of "making things safer."

Entity Framework is in fact so slow that StackOverflow had to remove it from their codebase. EF threatened to destroy SO's ability to serve HTTP requests. I could probably spend hours explaining you why, but I am not going to do that, but you can look it up for yourself if you wish. Entity Framework is at least 7 times slower than the equivalent pure ADO solution using SqlConnection and SqlCommand objects. And this cost is paid by your web server, by multiplying CPU time by 7, in addition to also consuming 7 times more memory. Hence, the added cost you're applying to your web app by adding EF to your solution, is that every single HTTP requests requires almost one order of magnitude more CPU time on your server, in addition to probably an equal amount of additional RAM, to serve basic HTTP requests doing simple CRUD lookups into your database.

Seriously kids, stay FAR away from O/RM libraries!

I don't care what Martin Fowler teaches you in these regards. I am right and Martin is wrong, period! Of course, your app's ability to scale, is reduced again by the square of the amount of CPU time your web server require to serve a single HTTP request, implying you can probably divide your app's ability to scale by some 1,000 or something, simply for having "the convenience" of being able to use an O/RM tool in your C# backend codebase. And no, the problem is only larger if you choose another O/RM such as nHibernate. In fact, EF is probably faster than nHibernate, implying if you use nHibernate, you can probably slash your scalability down by some roughly 10,000 times. In fact, EF is probably the fastest O/RM library for .Net, still it destroys your app's ability to scale by itself. 

O/RM libraries and scalability are two fundamentally incompatible concepts!

Seriously, do not use O/RM libraries! If you have to use a library, then please use Dapper, which is roughly on pair with Hyperlambda. Let me illustrate this with a video, and please realise that if I had built it with EF, each HTTP request would spend some additional 5x as much CPU time on my server. And yes, this is CPU time, implying the fact that EF is async becomes 100% perfectly irrelevant.


Complexity

Typically your web app invokes other 3rd party APIs. If you're anything like me, your goto class in these regards is probably C#'s HttpClient. However, I can guarantee you that roughly 95% of every single .Net app using this class is violating its usage somehow. In fact, it's almost impossible to use the freakin' thing without violating it somehow. Your own codebase is probably violating it to the extent of that your web server will if given enough throughput start returning HTTP status code 503, due to your HttpClient instances having thrown away socket connections as if they were candy. During my professional career of 20+ years as an enterprise software developer, I have still not seen a single codebase using this class correctly!

While I could go on ranting about HttpClient for days, it's not really a problem with HttpClient, but rather a problem of complexity. Unless it's dead simple to use complex logic, you will probably at some point not be able to implement it optimally. Maybe you even know how to implement things optimally, but you're not given enough time by your manager - And C# and other "low level" programming languages simply has too many configuration options, creating too much flexibility, resulting in leaky abstractions, penetrating through your app, resulting in that your app's ability to scale suffers. If the fastest solution is dead simple to implement, such as illustrated below however, it becomes hard to create sub optimal solutions ...

Plain Text
 
join
   fork
      http.get:"https://servergardens.com"
      log.info:Thread 1 finished
   fork
      http.get:"https://gaiasoul.com"
      log.info:Thread 2 finished
   fork
      http.get:"https://dzone.com"
      log.info:Thread 3 finished
log.info:All threads are done


Creating optimal solutions should be simple, while creating sub-optimal solutions should be hard. In low level programming languages such as C# and Java, this is reversed, such that creating sub-optimal solutions is easy, while creating optimal solutions becomes hard. This becomes the equivalent of purchasing a Formula 1 car with a parachute attached to it due to security reasons, and it requires two weeks at the mechanic to simply remove the freakin' thing ... :/

Choice

Do you want to know a secret? The more choices you have, the larger the probability becomes of that you will choose badly. And in fact the problem becomes worse by the human psyche's need to justify its own investments. In fact, this is more psychology than software development, but still penetrates through into your codebase none the less. Admitting you've invested badly is extremely difficult to do, because it reduces your ego's ability to sustain the belief in that you're "the best person in the world."

This "bad investment syndrome" results in that almost regardless of what problem you're faced with in the .Net world, if you search for an Open Source library implementing it, you'll probably find 24 million libraries to choose from. I can pretty much guarantee you that 23,999,995 of these solutions sux big time! While the 5 remaining ones are roughly what you're looking for, and better than all the alternatives. I suspect the same is true for Java, Python, PHP or "whatever".

In Hyperlambda, I have almost completely eliminated choice for you, through carefully considering all alternatives over a 20+ year long professional career, having taught myself through experiences which libraries are the best, and which ones to stay away from. Then I have wrapped my experience into a collection of Hyperlambda slots, allowing you to sleep at nigh, realising I've chosen for you! And that your choice is probably in the top 2% performing parts of the world.

I used to live in California for 3 years. Every time I went to SafeWay to buy sauce, I would be confronted with 176 choices of different sauces for my dinner. I am no sauce expert though, so the result was more or less always the same; I bought no sauce, and ended up dining at Outback as a consequence, which would only offer me ONE Teriyaki sauce choice to go with my ribeye. Seriously, if you think choice is such a great thing, then choose a grain of sand for me, and tell me it's the best grain of sand in the world - Then prove it! Having choices is a good thing, but being confronted with 25 million different types of HTTP wrapper libraries to create simple freakin' HTTP GET invocations from 3rd party APIs is not a good thing. It results in cognitive overload, stifling your creativity, and sub-optimal solutions for your clients.

All in all, the above things is the reason why the turtle wins, because the turtle always wins! So, now you know why Hyperlambda is the fastest programming language in the world ... ^_^

Hyperlambda WINS! The Turtle prevails!

Did you enjoy my latest content about Hyperlambda? I understand many of you have different opinions about Hyperlambda, but if you are interested to learn more, check my last article to improve code quality with Hyperlambda.

Entity Framework Fastest app CPU time Database Library

Opinions expressed by DZone contributors are their own.

Related

  • Build Quicker With Zipper: Building a Ping Pong Ranking App Using TypeScript Functions
  • 4 Email Validation and Verification Techniques for App Developers
  • How to Build a URL Shortener Web App With Flask Framework
  • Java Module Benefits With Example

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!