LoginLogin

N# Discussion/Help Thread

Root / Talk About Programs / [.]

computableeCreated:
Now that N# is pretty much complete (just a few last bugs and features to do), I decided to make a help and discussion thread. This is where you should report bugs and request help (or make suggestions about the language)! You can download the N#->SB compiler here. KNOWN BUGS: * Doing stuff like
int hello, code = Graphics.RGB(255, 255, 255)
will cause the compiler to recognize 255 and 255) as individual variables (because of comma placement) instead of part of the Graphics.RGB function. * Putting compound self-assignment operators inside a string will cause the compiler to think you're actually trying to use one, causing a syntax error in the outputted code. * Sometimes, strings will stop being parsed if there's a = inside the string. * Because of the same cause as bug #1, it's impossible to make multidimensional arrays. This WILL be fixed in Beta 1.6, as it is a major glitch. STILL TO DO BEFORE FINAL RELEASE: * Complete the Sprite library * Fix any last bugs * Multithreading THINGS THAT SEEM LIKE BUGS BUT AREN'T: * You cannot create instance variables. Class variables are only available through static classes. * You must pass "self" to a non-static function as the last parameter, even if the function takes no arguments. "self" is automatically passed to any non-static function. Want a feature added to N#? Tell me and I'll consider it!

OKAY, I HAVE A CONTEST FOR ANY N# PEOPLE!!! I now present...the International Obfuscated N# Code Contest! In this contest, you will make an N# program that is as obfuscated as can be. As for what it is, that will be up to you. The only rule is that you must use N# Beta 1.5. Be creative! (This means not using inline SB for the entire program. It will not be a disqualification, but I won't like it.) Winners will be selected in the following categories: Most unreadable code Most exploitive of N# glitches Most elaborate program Best overall entry HOW TO SUBMIT YOUR PROGRAM: Upload your program and send the download key to me via site PM. Make sure to send me the N# source and not the compiled output! I myself will compile the program on my copy on N# to eliminate any possibility of cheaters modifying the compiler. JUDGING PROCESS: I myself will judge programs in the most unbiased manner as possible. I will accept programs through April 15, 2016. Results will be posted within two weeks of the deadline. EXAMPLE ENTRY: I will notice if you just copy this program.

I'm great at making code unreadable. But I'm that's no good with N#...

I think Tri would be a nice candidate to win as he seems to know N# more than anyone else besides myself.

Great.

Fixing bugs is fun. Beta 1.6 will also hopefully come with enums. Who has a syntax suggestion? C# uses (if I remember correctly):
enum myenum { object0, object1, object2, etc };
I might do something along the lines of:
enum myenum <- object0, object1, object2, etc

Who likes dictionaries? Who likes by reference parameters? Who likes more ways to pass data to objects? Now in N#!

So N# has recently had update Beta 1.6, and the changelog includes the following: *By reference parameter passing *Brace syntax *Dictionary library *Wildcard variable (equal to anything) *Runs as SmileTool (much easier to use) *Ignore command *Lambdas and higher-order functions *Bug Fixes Also, I'm going to start slowing down on N# development and start working on the documentation. :) So now people will actually be able to use it.

Less than a week after I say I'll slow down development, and I couldn't stop myself from implementing getters and setters.

Keys in objects, that's a thing(wow, this is dead :/)

Haha yea I've moved on to other things. I made N# when I still didn't have a good grasp on what OOP really was. If I remade it now, it would be many times better I'm sure.

Hey there! I think this program is incredibly cool, especially for experienced coders. However, I believe a good way to learn the language would be to use an inverted compiler. Instead of N# to SmileBasic, it could be SmileBasic to N#. That way, newer programmers like myself could learn how to program the simple programs we made in SmileBasic on N# as well!

Hey there! I think this program is incredibly cool, especially for experienced coders. However, I believe a good way to learn the language would be to use an inverted compiler. Instead of N# to SmileBasic, it could be SmileBasic to N#. That way, newer programmers like myself could learn how to program the simple programs we made in SmileBasic on N# as well!
The purpose was to let experienced programmers use an OOP language and still be able to run their code in the SB app. However, N# is no longer an active project, mainly in part due to its bad design (it's honestly a very bad OOP language). I appreciate your feedback though!

Hey there! I think this program is incredibly cool, especially for experienced coders. However, I believe a good way to learn the language would be to use an inverted compiler. Instead of N# to SmileBasic, it could be SmileBasic to N#. That way, newer programmers like myself could learn how to program the simple programs we made in SmileBasic on N# as well!
The purpose was to let experienced programmers use an OOP language and still be able to run their code in the SB app. However, N# is no longer an active project, mainly in part due to its bad design (it's honestly a very bad OOP language). I appreciate your feedback though!
This has potential, if you restart this, it may end up being much better

Is there any way I can return a value other than void, string, or int? Like, if I were to have created a class called Byte, is there any way I could perhaps create a function similar to this?
def public Byte convIntToByte(int in)
 object ret <- Byte = in
 return ret
end
or maybe just return any object in general?

Is there any way I can return a value other than void, string, or int? Like, if I were to have created a class called Byte, is there any way I could perhaps create a function similar to this?
def public Byte convIntToByte(int in)
 object ret <- Byte = in
 return ret
end
or maybe just return any object in general?
Practically, the return type is to improve readability... You can return other type from a function Example:
def public string int(int in)
  return in+65535
end