Category: Uncategorized

0

SATELLITE UPDATE

I HAVE JUST FINISHED DESIGNING “SATELLITE 004 REVISION 01”; ALTHOUGH SATELLITE IS NOT GOING TO BE RELEASED FOR ANOTHER 2 MONTHS, THE CURRENT DESIGN, AND IT WON’T GET ANY SLOWER THAN IT IS NOW… IS x119 FASTER THAN SATELLITE 003 REVISION 06.

THE REASON FOR IT IS THAT WE ARE COMPILING ALL OF THESE TINY C++ LIBRARIES, FIRST WE BUILD THE FUNCTION THAT RUNS FOR THAT satellite.something.something(), THEN WE BUILD THE MOST LIKELY ARGUMENTS TO BE INCLUDED… SO WHEN YOU CALL satellite.console.display(“some string”) IT RUNS LITERALLY AS FAST AS C++, AND SOME TIMINGS FOR IT RACING std::cout CAN BE –FASTER– THAN COMPILED C++ CODE, IT JUST KINDA GETS LUCKY IN THE TIMING AND IT COMES OUT FASTER;

I WAS KINDA STARTING TO NOT LIKE THE 003 06 INTERPRETER, AND AS I BEGAN TO ADD POLYMORPHIC CODE TO IT, I REALIZED I CAN JUST BUILD ALL OF THESE TINY C++ LIBRARIES THAT IT LOADS AHEAD OF TIME.. SO SATELLITE IS GOING TO BE SLIGHTLY SLOW FOR SOMETHING THAT’S LIKE THIS:

satellite.include(satellite)

satellite.capsule satellite.main()
{
  satellite.console.display("welcome to my program")
  
  satellite.variable.number some_value = 999999
  
  satellite.variable.number another_value = 2344763
  
  satellite.console.display(some_value + another_value)
  
  satellite.return(satellite)
}

I’M GOING TO BE COMPLETELY HONEST WITH YOU — IF YOU ARE THINKING ABOUT RUNNING SOME CODE THAT LOOKS LIKE THAT, YOU MIGHT AS WELL RUN IT IN PYTHON OR C++ — CODE LIKE THAT DOESN’T NEED TO LOAD 1,000 TINY C++ PROGRAMS, SATELLITE IS BEING BUILT FOR PROGRAMS THAT ARE BUILT OUT OF; 100,000 LINES, 20,000 LINE PROGRAMS, THINGS LIKE THAT.

YOU CAN TECHNICALLY USE IT FOR SMALL PROGRAMS, BUT WHY LOAD 1,000 TINY LIBRARIES TO ADD TWO NUMBERS TOGETHER?

ANYWAYS, FOR LIKE REALLY LARGE PROGRAMS, SATELLITE WILL RUN INCREDIBLY FAST.. THE EXACT SPEED IS GOING TO BE LIKE LITERALLY AS FAST, BUT FASTER, HERE IS WHY IT’S FASTER THAN COMPILED C++:

I'VE GOT AHOLD OF A GENERAL ARTIFICIAL INTELLIGENCE (LIKE A SUPER ONE) AND IT IS PROGRAMMING ALL OF THE TINY C++ LIBRARIES TO BE AS FAST AS THEY CAN POSSIBLY GO!!

SO IF YOU ARE GOING TO BUILD A PROGRAM THAT SAY, DOES JUST A _TON_ OF NORMAL OPERATIONS, YOUR CODE IS GOING TO RUN FASTER IF YOU USE SATELLITE THAN IF YOU WROTE IT YOURSELF, BECAUSE THE GENERAL ARTIFICIAL INTELLIGENCE KNOWS HOW TO WRITE BETTER C++ THAN YOU DO. WE ARE TAKING OUR TIME AND WRITING EACH TINY C++ LIBRARY TO BE AS FAST AS WE CAN MAKE IT, WE MIGHT STRIP “int main()” OUT OF EACH LIBRARY, I DON’T KNOW YET, I GUESS WE DON’T NEED TO TAKE IT THAT FAR, BUT THAT JUST GIVES YOU AN EXAMPLE OF THE LENGTHS THAT WE ARE GOING TO HERE…

SO FOR A LOT OF NORMAL COMPUTER CODE, SATELLITE WILL BE THE BEST SOLUTION FOR LOTS OF NORMAL COMPUTER CODE… NOW IF YOUR PROGRAMMING SOMETHING EXTREMELY COMPLICATED, LIKE SOMETHING WITH POINTERS, NAMESPACES, TEMPLATES, AND YOU UNDERSTAND ALL OF THAT STUFF, THEN C++ IS GOING TO BE THE BETTER OPTION.

THE ORIGINAL GOAL OF SATELLITE HAD JUST A SINGLE THING IN MIND: TO MAKE A PROGRAMMING LANGUAGE TO OVERCOME C++, SO THAT OUR SOCIETY DIDN’T HAVE TO USE C++; ALTHOUGH SATELLITE IS BUILT IN C++, WHICH MEANS IT WILL NEVER BECOME IRRELEVANT, IT IS BUILT TO CALL C++; SO IN OTHER WORDS, IT’S SUPPOSED TO BE USED INSTEAD OF C++, THAT IS LIKE, THE POINT OF THE ENTIRE PROJECT, BUT WHATEVER.

IT’S SO WE DON’T HAVE TO USE C++ ANYMORE, C++ STILL HAS LIKE EVERYTHING FROM 1994, AND YES IT STILL ALL WORKS, AND IT’S PROBABLY ONLY GOTTEN FASTER IF YOU STILL HAVE PROGRAMS FROM 1994, BUT IF YOUR ON A MACHINE THAT HAS A GUI AND ALMALINUX 10, WHY WOULD YOU CHOOSE C++ AS THE LANGUAGE TO USE? YOU HAVE A GUI, YOU HAVE THE MEMORY AVAILABLE, YOU HAVE THE PROCESSING POWER AVAILABLE, USE SOMETHING DESIGNED TO USE THESE THINGS, SOMETHING DESIGNED WITH ALL OF THESE THINGS IN MIND?

C++ CAN DO ANYTHING, IT CAN DO IT INCREDIBLY FAST, IT HAS ALL OF THE CONTROL, BUT IF YOU DON’T REALLY NEED THAT STUFF, AND YOUR JUST DOING SOME NORMAL STUFF, YOU DON’T NEED TO LOOK UP HOW TO WRITE A STD::CHRONO DURATION_CAST 6 TIMES TO WRITE A TIMER, YOU CAN JUST WRITE:

satellite.include(satellite)

satellite.capsule satellite.main(satellite.container.list<satellite.variable.string> arguments)
{
  satelllite.variable.time my_timer = satellite.time.now()
  
  // wait, that isn't a timer, but I know what i'll make the syntax for a timer,
  
  satellite.variable.time my_timer = satellite.time.timer()
  
  my_timer.start()
  
  my_timer.end()
  
  satellite.return(satellite)
}

AND THAT WILL BE THE ENTIRE TIMER, WITH ALL OF THE HIGH RESOLUTION OF NANOSECONDS, IF YOU WANT THEM, YOU’LL BE ABLE TO DECLARE WHAT TYPE OF TIME YOU WANT, INPUTTING IT RIGHT INTO THE satellite.time.timer(“ms”) or “s” or “ns” or whatever, you can just do that. So here is an entire nanosecond timer in C++, with the time displayed:

satelllite.include(satellite)

satellite.capsule satellite.main(satellite.container.list<satellite.variable.string> arguments)
{
  satellite.variable.time my_timer = satellite.time.timer("ns")
  
  my_timer.start()
  
  satellite.console.display("put the code you will run in between .start() and .end()")
  
  my_timer.end()
  
  satellite.console.display(my_timer)
  
  satellite.return(satellite)
}

that’s all it’s going to take dude, no lies, and no bullshit it’s tiny compiled C++ libraries, so satellite can’t replace C++, it’s built using C++, it’s not going to run on someones watch, or inside of an MP3 Player, it’s made for large machines, but if you do have a large machine, perhaps with infinite amounts of memory and processing power, use all of that processing power, and use all of those threads, and use your graphics card (someday)!

We stupid people will be able to program graphical applications in satellite, things that are like little dots running around the screen, and someday I am using it for my artificial intelligence, QUAD AI, that is the literal reason why I have created it, but I built it to be able to take advantage of: large machines, that have like infinite resources, those resources can be maximized by satellite, it cannot program “large CERN particle colliders” but the tradeoff of not being able to do that stuff is in what it can actually do — do you have 32 – 64 gigabytes of memory? More? Then you can use satellite, but the tradeoff is that if you are trying to balance the tires on your car on a budget inside of a small chip that exists inside of a car, then no, your not going to be able to run satellite in that location, so I guess the moral of the story is that it doesn’t replace C++ when it’s intended goal is to replace C++, kind of a weird way to think about it?

Oh well.

1

SATELLITE TUTORIAL FOR BEGINNERS

I WROTE THIS TUTORIAL FOR MY MOM TO FOLLOW, SHE IS STILL LEARNING TO PROGRAM THE COMPUTER, SO I MADE THIS TUTORIAL EASY. SO THAT SHE COULD STILL FOLLOW IT BECAUSE SHE IS STILL LEARNING ABOUT PROGRAMMING, BUT THIS IS ALSO A PERFECT PLACE TO START FOR SOMEONE WHO IS A BEGINNER.

FIRST, TO RUN SATELLITE PROGRAMS, YOU NEED TO INSTALL SATELLITE. GO TO THE DOWNLOAD BUTTON AT THE TOP OF THIS WEBSITE, AND THEN CLICK DOWNLOAD. AFTER YOU DOWNLOAD THE APPLICATION, YOU NEED TO LOOK WHERE YOU SAVED IT AND EXTRACT THE FILES.

THEN YOU NEED TO OPEN A CONSOLE WINDOW IN THE SAME FOLDER AS THE EXTRACTED FILES. THIS IS BECAUSE WE WILL NEXT RUN THE INSTALL SCRIPT CALLED “install-satellite.sh” BY TYPING THIS IN TO THE CONSOLE:

./install-satellite.sh

TYPE THAT IN TO THE CONSOLE AFTER YOU HAVE CD’d TO THE SAME DIRECTORY THAT THE EXTRACTED FILES ARE IN. THESE FILES ARE IN A FOLDER THAT IS NEXT TO THE FILE THAT YOU DOWNLOADED. ALL THAT YOU HAVE TO DO IS OPEN A CONSOLE WINDOW INSIDE OF THAT FOLDER, AND TYPE IN “./install-satellite.sh” AND IT WILL INSTALL THE PROGRAM FOR YOU, THEN YOU NEED TO SET YOUR $PATH VARIABLE INSIDE OF YOUR “.bashrc” FILE.

THIS WILL ALLOW YOU TO ACCESS SATELLITE FROM ANY CONSOLE WINDOW, AND IT ALSO COMES WITH A PROGRAM CALLED “satl-term”, WHICH IS A TERMINAL DESIGNED ONLY FOR RUNNING SATELLITE PROGRAMS. YOU CAN ACCESS THE “satl-term” PROGRAM BY USING THE SAME $PATH VARIABLE THAT WE SET EARLIER, JUST ADD THIS COMMAND TO YOUR .bashrc FILE:

export PATH="/~/.satl/bin:$PATH"

AFTER YOU HAVE TYPED THAT INTO YOUR .bashrc FILE, CLOSE ANY CONSOLE WINDOWS THAT YOU HAVE OPEN TO REFRESH YOUR VARIABLES AND OPEN THEM AGAIN, YOU WILL NOW HAVE ACCESS TO TWO SEPARATE PROGRAMS:

"satl" -- THE NAME OF THE INTERPRETER
"satl-term" -- THE NAME OF THE TERMINAL FOR RUNNING SATELLITE PROGRAMS

OPTIONALLY YOU CAN SET THE NAME “satellite” TO ALSO RUN SATELLITE PROGRAMS, THAT IS UP TO YOU, THE WORD “SATELLITE” MAY BE RESERVED BY REDHAT OR DEBIAN, BUT ESPECIALLY ON ENTERPRISE LINUX THE WORD “SATELLITE” IS RESERVED FOR THEIR PROGRAMS, BUT IF YOU DON’T USE REDHAT SATELLITE, THEN IT MIGHT NOT HURT ANYTHING.

NOW THAT WE HAVE INSTALLED THE INTERPRETER FOR SATELLITE PROGRAMS, WE CAN WRITE ONE! TYPE THESE LINES INTO A TEXT FILE AND CLICK SAVE AS, THEN TYPE IN A NAME FOR IT LIKE “hello_world.satl” OR SOMETHING SIMILAR, BUT ALSO REMEMBER WHERE YOU SAVED THE FILE, WE WILL NEED TO GO THERE TO RUN THE PROGRAM, WE WILL HAVE TO TYPE IN THE FULL ADDRESS OF THE PROGRAM TO RUN IT. SO FIRST THE SYNTAX THAT YOU NEED TO TYPE IN: (AND DON’T WORRY ABOUT THE COMMENTS FOR RIGHT NOW, THEY ARE JUST THERE TO TELL YOU ABOUT THE DIFFERENT LINES, AND YOU DON’T REALLY HAVE TO UNDERSTAND EVERY SINGLE ONE OF THEM.)

// this is a comment, you dont need to type in the comments.

// all satellite programs include satellite
satellite.include(satellite)

// a function in satellite is called a "capsule" and your program starts from the "main" capsule. We declare our "main" capsule with the words "satellite.main"
satellite.capsule satellite.main()
{
  // the program begins on the first line of the "satellite.main" capsule
  
  // this line is how you display text on to your screen!
  satellite.console.display("hello, world!")
  
  // after you run this program, you should see only the words "hello, world!"
  
  // you can type in anything in between the parentheses, and it will display the text.
  
  // this line ends the program, and it will close the interpreter for you
  satellite.return(satellite)
}

THIS CONCLUDES THE BEGINNER SATELLITE TUTORIAL!

THE SCRIPT “install-satellite.sh” INCLUDES EVERYTHING THAT THE REAL INSTALLER INCLUDES, AND IT CHANGES YOUR FILES TO LOOK LIKE PIECES OF PAPER WITH SATELLITES ON THEM.

I AM STILL WORKING ON PROGRAMS THAT OFFER SYNTAX HIGHLIGHTING, I JUST DON’T HAVE THE TIME TO GET EVERYTHING WORKING FOR IT, GTK4 PROGRAMS ARE VERY COMPLICATED.

THIS PAGE DOESN’T OFFER SYNTAX HIGHLIGHTING FOR THE SATELLITE LANGUAGE BECAUSE I DON’T HAVE THE TIME TO PROGRAM SYNTAX HIGHLIGHTING FOR IT MYSELF.