Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

.NET Languages

Name: Anonymous 2007-08-01 6:24 ID:EwJeI4MZ

Which one do you like? I have narrowed my choice down to Nemerle, Boo and F#. I really like Nemerle, but it's the least active of these, F# looks nice and is supported by Microsoft, Boo kinda failed to excite me, but isn't bad.

DISCUSS!

Name: Anonymous 2007-08-01 6:33 ID:1v/240uz

C# seems pretty cool. It's like Java, minus the aids.
IB Microsoft haters.

Name: Anonymous 2007-08-01 6:35 ID:Heaven

Nemerle, eh?
Does this look familiar to anyone:

class Hello {
  static Main () : void {
    System.Console.WriteLine ("Hello, world!");
  }
}

Name: Anonymous 2007-08-01 6:35 ID:2Lv5cRlK

nemerle is nice. Sure it's not very active, but the language has macros, which pretty much means that if there is something in the language you find lacking then you can add it yourself. Boo also seems nice, it's like a mix between the ML family + Python + a bit of everything. it has optional dynamic typing, something which I appreciate a lot. In fact that's what I don't like about these languages, I would rather look into the dynamic .net languages.
F# looks a bit messy to me, but maybe that's because ML seems messy to me.

Name: Anonymous 2007-08-01 6:52 ID:Heaven

>>2
Yes, C# is Java without teh AIDS, but that isn't much.. still made of shit and fail.

Also, Mono.

Name: Anonymous 2007-08-01 6:59 ID:EwJeI4MZ

>>3
Using Nemerle macros for SQL you can write
ExecuteReaderLoop ("SELECT firstname, lastname FROM employee WHERE firstname = $myparm", dbcon,
{
  System.Console.WriteLine ("Name: {0} {1}", firstname, lastname)
});

instead of
string sql = "SELECT firstname, lastname FROM employee WHERE firstname = :a";
NpgsqlCommand dbcmd = new NpgsqlCommand (sql, dbcon, dbtran);
dbcmd.Parameters.Add("a", myparm);
 
NpgsqlReader reader = dbcmd.ExecuteReader();
 
while(reader.Read()) {
  string firstname = reader.GetString (0);
  string lastname = reader.GetString (1);
  System.Console.WriteLine ("Name: {0} {1}", firstname, lastname)
}
reader.Close();
dbcmd.Dispose();



Macros with syntax extensions can do this
macro ReverseFor (i, begin, body)
syntax ("ford", "(", i, ";", begin, ")", body)
{
  <[ for ($i = $begin; $i >= 0; $i--) $body ]>
}

defines a macro introducing the ford (EXPR ; EXPR) EXPR syntax and can be used like
ford (i ; n) print (i);

Name: Anonymous 2007-08-01 7:07 ID:q4T6Ys+I

"SELECT firstname, lastname FROM employee WHERE firstname = $myparm"

hahaha, oh wow

Name: Anonymous 2007-08-01 7:28 ID:Heaven

>>7
That was just an example, you dumb shit.

Name: Anonymous 2007-08-01 8:09 ID:Heaven

In after .NET lovers

Name: Anonymous 2007-08-01 9:39 ID:S1s7hgrn

In before Microsoft is awesome.
Microsoft is awesome!

Name: Anonymous 2007-08-01 9:46 ID:Heaven

In after idiot

Name: Anonymous 2007-08-01 10:08 ID:xSBx9BqU

L# .NET is a powerful Lisp-like scripting language for .NET. It uses a Lisp dialect similar to Arc but tightly integrates with the .NET Framework which provides a rich set of libraries.

 L# is free software distributed under the terms of the GNU General Public License. You can download the latest release from Sourceforge. You may also want to read Rob Blackwell's Web Log.

http://www.lsharp.org/

Name: Anonymous 2007-08-01 10:14 ID:zyLcsjjT

Which ones do I like? None of the above...

If I was absolutely forced into using a .NET language, though, it'd have to be C#.

Name: Anonymous 2007-08-01 10:21 ID:S1s7hgrn

C#. I'm also interested in F#, although I've yet to see how practical it is for the type of programs I write.



Also, Ruby!

Name: Anonymous 2007-08-01 10:31 ID:Heaven

>>12
You can use the .NET framework from Lisps. Now please leave.

Name: Anonymous 2007-08-01 10:55 ID:Heaven

L fucking #? The world is coming to an end..

Name: Anonymous 2007-08-01 11:08 ID:F7+L9yIE

f# and common larceny are cool

Name: Anonymous 2007-08-08 7:05 ID:dqZeQthc

About Nemerle, anyone know how I can match function? I want to do something like this:

match (x)
{
  | _ is string => WriteLine ("string get!");
  | _ is int -> string => WriteLine ("fun string get!");
  | _ => WriteLine ("dunno lol");
}


But ncc sez "error: unbound type name ->". Ideas?

Name: Anonymous 2007-08-08 8:37 ID:nuW+enWj

CIL OR GTFO

Name: Anonymous 2007-08-08 22:20 ID:Heaven

>>18
I looked up for it, I couldnt't find how.

Name: Anonymous 2007-08-09 6:13 ID:kvvVswIR

>>20
Yeah, I don't think it's possible. Anyway, I figured out an alternative solution..

The problem was that there is this class that gets input from two sources and puts it together, one source sets up data, other requests it. As some data can be quite heavy and possibly never requested it's not a good idea to calculate it upfront. So, the idea was to, besides other data, set up also functions and later if required respond with what they return, that didn't work out so well. Alternative solution:

    class Test
        public static m1 () : IEnumerable
            WriteLine ("HI2U FROM m1")
            for (mutable i = 0; i <= 3; i++)
                yield i.ToString ()
        public static Main () : void
            def a = ArrayList ()
            a.Add ("foo")
            a.Add (42)
            a.Add (m1 ())
            WriteLine ("BEGIN MATCH")
            def loop (i = 0) : void
                if (a.Count == i)
                    WriteLine ("END MATCH")
                else
                    match (a[i] : object)
                        | _ is string =>
                            WriteLine ("string GET")
                        | _ is int =>
                            WriteLine ("int GET")
                        | _ is IEnumerable =>
                            WriteLine ("IEnumerable GET")
                            //foreach (z in a[i] :> IEnumerable)
                                //WriteLine (z);
                        | _ =>
                            WriteLine ("DUNNO LOL")
                    loop (i + 1)
            loop ()


When you run this notice that there isn't "HI2U FROM m1", although you do m1 (), only when you uncomment foreach you see it.

Name: Anonymous 2007-08-09 6:39 ID:TXSvO2yj

>>21
Forced indentation of code?

Name: Anonymous 2007-08-09 6:56 ID:TFu3UYVN

>>22
That would be P#, a .NET aware version of Python.

Name: Anonymous 2007-08-09 6:59 ID:Heaven

>>21
Oh god, I almost threw up.

Name: Anonymous 2007-08-09 7:25 ID:YCDSRx6Z

Microshit ruins everything, .NET sucks as much as the black hole

Name: Anonymous 2007-08-09 7:27 ID:Heaven

>>25
Tell me more about the black hole.

Name: Anonymous 2007-08-09 7:32 ID:TFu3UYVN

The Black Hole

Name: Anonymous 2007-08-09 7:32 ID:XCOGJKL0

F# > (Nemerle - macros)

Name: Anonymous 2007-08-09 8:48 ID:kvvVswIR

>>22
Is not forced, optional. I like it.

Name: Anonymous 2007-08-09 8:52 ID:TXSvO2yj

>>29
One word. The forced indentation of code. Thread over.

Name: Anonymous 2007-08-09 9:00 ID:Heaven

>>30
But it isn't forced...

Name: Anonymous 2007-08-09 9:27 ID:boy21ZOF

GOTO 30

Name: Anonymous 2007-08-09 10:00 ID:Heaven

>>31
One word. The forced indentation of code. Thread over.

Name: Anonymous 2007-08-09 18:50 ID:Z8QsTYkf

hi vb.net rules fuck you guys

Name: Anonymous 2007-08-09 18:58 ID:bHXw9WrC

>>34

Eat shit and die

Name: Anonymous 2007-08-09 19:02 ID:mPMIDurL

>>24
Why? I think it looks very much OK.

Name: Anonymous 2007-08-09 21:14 ID:JG5l+/As

>>21
of course. m1() does not execute the code, it just returns the IEnumerable object.

Name: Anonymous 2010-12-20 23:45

Name: Anonymous 2011-02-04 12:38


Don't change these.
Name: Email:
Entire Thread Thread List