Hello there I am currently trying to make a programming language I know it's tricky thing to do but I think I thought it would be a great idea to improve my skills (not that they needed much improvement but Hey why not!).

It is considered a macro scripting language similar to AutoIt although it has a crap ton of stuff AutoIt does not have such as Classes operator overloading and thousands more features not available there.

I currently call it Sputnik Scripting Language.

It is incomplete and in development but is ready for testing.

This was made as a fun project to try produce a scripting language that did everything I need to do.

Sputnik is under development and is not finished yet but it is already proving to be a lot of fun and very easy to use and very powerful!
It is fully useable.

Other languages lacked stuff I really needed such as Classes/Enums/Dynamic Code/MultiThreading/Supporting infinite Windows GUIs etc etc

A list of some of the things Sputnik supports:
* Ability to make GUI programs that support infinite amounts of Windows running at once
* PHP Style syntax using curly braces {}
* Enums like C++
* Approx 700 functions, 50 or so operators and many casts
* Dynamically unload functions/classes from your running program and reload them back again from source code allowing full complete updates to the source of your program while it is still running
* Try/Catch/Finally with ability to create exceptions even extended ones using the internal class
* Can assign hotkeys to run scripts/functions anything they can be simple hotkeys or very complex hotkeys
* The $variable can be any of the following: char, bool, byte, sbyte, int16, int32, int64, uint16, uint32, uint64, float, double, string, array, ref
* Ability to make Macros to control Windows/Buttons/Objects/Mouse/Keyboard (Bascially like as AutoIt) can send text to applications etc etc
* Classes with ability to extend them and multiple inheritance every operator and cast can be overloaded in the Classes
* Multi-threading with ability to spawn/speed/kill threads and even define areas of code as Locked so stop two threads running it at once
* Can make GUI programs with buttons and all kinds of stuff even MDI interfaces
* Supports infinite GUI windows at once (Where as AutoIt supports only one)
* Very easy to use Array system that works exactly like PHPs no need to redim etc etc
* Support for calling DLL functions and even pass arrays as individual arguments and even inline C code directly into your script
* Perl style regexes using same syntax as Perl $var =~ //; etc
* Support for complex Parsers using Rules and Terminals (Sputnik's parser function can even be used to parse Sputniks own code)
* Type checking like $var ~~ Int32
* Binary features to handle Binary data with Pack() Unpack() (similar to PHP/Perl) and over 40 binary functions
* Stream functions similar to binary but faster if you want to do loads of appending/inserting
* Many math functions
* Around 60 string functions
* DLLCall can call single functions but DLLImport can load thousands at a time and even save them as newly compiled DLL for faster loading speed
* Can capture console output of executed third party programs
* Many file creation/read/write frunction
* Many directory/path functions
* Ability to create UDP/TCP raw sockets for creating client/server programs
* Includes an additional easy to use beginner friendly powerful internal Client/Server series of functions making producing client/servers a breeze
* Many memory read/write functions for Trainer creation and game hacking
* Many memory function to alloc, free, modify in many ways
* Get/Set clipboard data
* MsgBox/InputBox
* Can hook messages to improve your macros like mousehooking/keyhooking
* All the familure Win___() functions from AutoIt you would expect WinActive, WinList its all there
* All the Control___() functions from AutoIt you would expect
* Pixel functions such as searching for pixels on screen for creating AimBots
* Call functions by name with params or arrays of params
* Dynamically create source code/functions while your program is running and execute that code
* Dynamically create a function on a $variable and execute it like: $Func = Function( $a, $b ){ println("Value is: " . ($a + $b)); }; CallFunc($Func, array(10, 20));
* Ability to throw exceptions/die
* Ability to include/require and optionally once
* Opt() like AutoIt to set any options you desire like WinTitleMatchMode
* Can use C# code inlined with Sputnik code
* Can create and use .NET objects/classes etc as if they were Sputnik classes
* Switch() & Select() statement that supports fallthrough , in cases like case "cat", "dog": regex in cases number ranges in cases
* If/Unless else statement
* While / Until statement
* Do While / Do Until statement
* C style For statement (supporting , )
* Perl style For statement for( 0..10 )
* Perl6 style For statement for( $a..$b as $i )
* PHP style foreach statement foreach( $array as $item )
* PHP style foreach keypair statement foreach( $array as $key => $value )
* Perlish style foreach keypair statement while (my List($key, *$val) = each($hash))
* C# Using ( $var ) statement (calls unset/dispose etc on all variables after use)
* C# Fixed( $p = $str ) statement
* Ability to access char* directly as if it was a normal array (C code dealing with char* can for most part copy and paste into Sputnik)
* Comes with a small but growing library of functions/classes made in Sputnik that includes vector3 class, parses etc creating C dlls/exes etc
* And another 1000 things not mentioned here

The "Function Reference" page on the wiki contains every function found in Sputnik with example code you can copy and paste.

I would greatly appreciate bug reports and any advise/function requests you wish.

The wiki says what the current version is on the main page if that version has changed from the one you have it is time to upgrade.

If anybody would like to test or offer advice/suggestions/bugreports etc I would be happy for that.

Edit - OK I can't currently post URLs but anybody interested can surely just PM and ask for a link or just do a google search for.

"Sputnik programming UberFoX"

Thanks and I hope somebody finds it useful I've been working this for quite some time and I use it a lot for my projects and maybe somebody else can find a use for it too.