Sheerpower isn't a one-size-fits-all solution; it's specifically designed
for developers who are responsible for creating, maintaining, and enhancing
large-scale, mission-critical business applications. In the world of
programming languages, Sheerpower stands out with its high-level language
features, which are essential for rapid application development and
efficient debugging. These features make Sheerpower an ideal choice for
developers who prioritize efficiency and need to deliver reliable,
high-performance software.
One standout feature is its status as a
Memory Safe Language.
With Sheerpower, developers can bid farewell to concerns like memory leaks,
buffer overflows, memory allocations/deallocations, and the intricacies and
delays caused by
memory garbage collection. Sheerpower gracefully handles these intricate
internal considerations, liberating developers to focus on crafting
exceptional applications.
- Rapid Business Development Environment: Sheerpower
offers a dynamic platform for swiftly advancing business
development, empowering developers to transform ideas into
functional applications with remarkable speed.
- Perfect Precision Math: Sheerpower delivers unmatched
accuracy in mathematical calculations, ensuring exact results
without floating-point errors. This precision is crucial for
applications like financial software where small errors can have
significant consequences.
- Integrated High-Speed Database Engine: Sheerpower's
integrated database engine efficiently manages data, enhancing application performance
through efficient high-speed storage and retrieval.
- Focused Language Constructs: Sheerpower's constructs
are designed to simplify complex coding tasks, enabling developers
to concentrate on crafting robust business rules.
In the tutorials, you will often encounter the PRINT
statement. This is the
main way to display output in SheerPower. You can print multiple items at once by
separating them with a ;
, which prevents spaces from being added between the items.
For more advanced formatting, you can use the SPRINTF()
function.
print 1.2 - 1.0
print 'a';'b';'c'
print sprintf('%s is %r %p old.', "Sally", 10, "year")
Sheerpower eliminates penny-rounding errors. Simple math operations always give
perfectly accurate results. For example:
print (0.1 + 0.2) - 0.3
0
In SheerPower, this code returns exactly 0, showcasing its precise handling of
simple math operations. In contrast, languages like C, C++, JavaScript, Java, and Python
will return an approximate result, such as
5.551115123125783e-17, due to rounding errors
in floating-point math.
Highly Unique Features for Business Applications
Sheerpower offers features specifically designed for
high-performance business applications, ensuring ease of use and
precision. These features include:
- Rapid Business Development Environment: Sheerpower
allows developers to quickly transform ideas into functional
applications, enabling rapid iteration and deployment.
- Perfect Precision Math: Sheerpower's patented
Perfect Precision Math eliminates floating-point errors,
ensuring perfectly accurate calculations. This is especially
important in fields like finance, where even small inaccuracies
can have significant impacts.
- Integrated High-Speed Database Engine: Sheerpower's
integrated engine simplifies data management, offering
high-performance operations with secure access and efficient
storage.
- Context-Aware Dynamic Type Handling: Sheerpower
automatically adjusts database meta-data data types based on context, minimizing the
need for manual conversions and ensuring seamless operations.
Note:
In Sheerpower, variable types must be consistent once declared. A variable such as a = 18 cannot
later be used in a string context such as a + '9' without producing a compile-time error.
This behavior enforces type safety in variables, ensuring more predictable results.
However, table field references (e.g., payroll(salary)) are treated differently,
as the field's data type can only be determined at runtime. This allows for dynamic type handling when
accessing fields from database tables, but does not apply to regular variables.
- Lazy Write Mechanism for Database Operations:
Sheerpower optimizes performance by deferring database write
operations, thus improving application efficiency.
- Custom Data Type with Formatting: Developers can
define custom data types with predefined output formats, improving
code readability and precision.
- Default Variable Data Types Based on Suffixes:
Sheerpower simplifies variable declarations by automatically
assigning types based on suffixes, such as
$
for
strings, %
for integers, and ?
for
booleans.
- Built-in Protection Against SQL Injection:
Sheerpower’s database operations are abstracted, meaning developers don’t directly
manipulate SQL queries. This built-in structure ensures
security by preventing SQL injection attacks through
automatic query handling.
Sheerpower's PRINT
statement provides flexible output,
with advanced formatting options available through the
SPRINTF()
function.
In these tutorials, your code runs in a safe environment
called a "sandbox." The sandbox ensures security by restricting certain
operations, such as file deletion or direct interaction with the operating
system, to prevent unintended consequences. If your application requires
these capabilities, you can work outside the sandbox in a full SheerPower
environment.
Within the sandbox, some SheerPower features, like deleting files or
executing OS-level commands, are inaccessible. If you attempt to use a
restricted feature, you will receive a warning. Additionally, sandboxed
programs are limited to a few seconds of execution time, and their
output is capped at approximately 100KB.
Each tutorial includes action buttons:
- Run Runs Sheerpower sample code
- Reset Resets sample code back to default
- Clear Clears the sample code window
- Home Goes to the tutorials homepage
- Previous Goes back to the previous tutorial
- Next Continues to the next tutorial
Under the buttons are four fill-in fields, one for each of the variables
a$, b$, x, y.
You can use these four variables in the sample code or make your own variables.