Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blog text about green coding #517

Merged
merged 5 commits into from
Feb 14, 2024
Merged

Blog text about green coding #517

merged 5 commits into from
Feb 14, 2024

Conversation

MTMillis
Copy link
Contributor

Here is a new blog post with pictures for Dev blog, subject green coding and power platform. I'm a new writer, so edited also config file.


When working with the Power Platform, one might easily think that developers can't do much. The platform takes care of most things like scaling, data savings, and cloud servers. Here, green coding comes into play.

Green coding is a method of coding that aims to minimize the energy required to process lines of code. While there are no studies available on the efficiency of Power FX (if I were to speculate, there might not be much to brag about it, given that high-level coding languages, like JavaScript, are not typically the most efficient), and we lack the ability to select the language in Canvas apps, our attention should be directed towards enhancing the energy efficiency of our apps through alternative means.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what does it mean to "process lines of code"? does it mean how much overhead the language brings? a single line could be run 1 time or a million times.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is a "Canvas app", perhaps link to some explanation

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!
Added some clarification ( Process lines of codes --> process single line of code), and some links to power platform and canvas app, to provide more context

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

still, what does it mean? x = x + 1 is obviously much cheaper than myVeryBigList.sort(), but both are single lines of code.

Does it mean some calculated average of the efficiency of the language? If there's some link to a good definition, that could be added.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure, what is the unclear part. Do you mean Is the definition of Green coding unclear or is the process word that causes confusion? Apparently I'm already way too familiar with my text :D

Green coding itself does not have a strict definitions (at least yet), it could be defined as "way of coding that consumes minimal energy" (which leaves it a bit wider). There are different ways to calculate and measure the efficiency of the code (i think it's more about how much computational power it requires compared to what it does and is there ways to reach same outcome with less energy needed) but I'm not that far yet to understand how those could be implemented in power platform development.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mainly how it is calculated... you state there are now studies on efficiency of "Power FX", but are there studies for other languages? How do they define the efficiency terms. Perhaps a link to some review or further text regarding the topic.

I could find this, https://dl.acm.org/doi/10.1145/3136014.3136031 (paywalled) and another referencing it https://www.efinancialcareers.com/news/2023/06/which-programming-language-uses-the-most-energy

If you have some good link for the efficiency, it would be good for the uninitiated reader.

Copy link
Contributor Author

@MTMillis MTMillis Feb 12, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, Now I Got It! I think the study from Pereira et al (2017, the link that was in the paywall) is still the best paper there is on this subject.
There are also some updates done to it. I added a link to it in the blog post, where you can read the paper and measuring methods more =)
https://sites.google.com/view/energy-efficiency-languages/home


The ICT sector (including data centers, communication networks, and user devices) is estimated to account for [around 4-6% of global electricity usage.](https://post.parliament.uk/research-briefings/post-pn-0677/) When discussing CO2 or greenhouse gas emissions, the ICT sector's emissions primarily stem from electricity consumption. As an app developer, I don’t have the power to dictate the type of electricity end-users or data centers use; therefore, I should focus on reducing the energy consumption of the app.

When working with the Power Platform, one might easily think that developers can't do much. The platform takes care of most things like scaling, data savings, and cloud servers. Here, green coding comes into play.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could make "Power Platform" a link to it, I'm unfamiliar with it

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added!

- Power Automate
---

![Illustartion of how green software divedes to energt effiency, hardware effiency and carbon awarness](/img/2024-Power-Platform/Green%20Sofware%20Principles.png)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

typos: illustartion, divedes, energt, awarness

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! The only part that I updated directly and did not go trough grammar check facepalm


# Closing words and learning content

"Hopefully, this has provided you with new ideas for finding greener ways to low code. As development progresses towards more sustainable software, we anticipate the emergence of additional best practices and automated solutions to further reduce carbon emissions and energy consumption in Power Platform solutions.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

opening quotation that doesn't seem to end

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed!

@tatut tatut merged commit 9ca578d into solita:master Feb 14, 2024
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants