Live data from Hacker News

A glimpse into a new programming language under development at Microsoft

lambda-the-ultimate.org

61–70 of 230 posts

Re: A glimpse into a new programming language under development at Microsoft

#61

Earlier quoted context omitted.

Yes their technical specifications for protocols and formats are wonderful since they released the open specification promise! Oh no wait, for those of us who have actually used these specs (in my case MSRPC/DCE), it's a hopeless mess of blatantly incomplete documentation obviously written by the lowest bidder. Microsoft haven't changed. They've succeeded in changing their perception only. The company is still predat…

Their language specs are pretty decent and easy to follow. It's almost like they have more than one person who writes specs.

Some are, some are not. Some are so bad it's unfunny. Literally someone has read the COM IDL and made up some padding. The core protocols like MSRPC are poorly documented i.e. the interoperability specs. They definitely have more than one person (did I suggest otherwise?) but I suspect the documentation was outsourced for a lot of stuff to people who have no idea how it works

Re: A glimpse into a new programming language under development at Microsoft

#62
post #31

This is going to be horribly negative so a bit of context first: I'm a professional C# programmer. I love C#, I think it's a great language. But there's a huge downside: C# only works on Windows. This vastly reduces the number of things you can do with it (yeah, I know about Mono). There's nothing here that suggests that this would have anything other than the same restrictions. So, assuming the language develops int…

C# only works on Windows. This vastly reduces the number of things you can do with it (yeah, I know about Mono).

Speaking of Mono, does anyone know of a good resource for C#/.NET devs to learn how to port their Windows apps to Linux/Mac relatively easily?

I did a writeup a month ago about my first impressions of Mono: https://news.ycombinator.com/item?id=6744622

In short, there don't seem to be very many "Here's how to write cross-platform C# code that runs on all three platforms without much effort" type resources. It seems like most Mono newcomers will find it difficult to get up and running, especially if you've been developing your app with Visual Studio 2010 or later. So it seems like there aren't very many good tutorials written specifically to teach Windows C# devs how to quickly get up to speed with Mono.

After spending some time researching the idea of writing GUI apps using C# and Mono, I gave up because it just didn't seem straightforward. Maybe I was going about it the wrong way, but it seemed like Python + Qt bindings would be a more effective approach, even though you lose out Visual Studio's awesome GUI designer. But I haven't actually tried python+qt yet on all three platforms, so maybe it isn't as easy as it seems. And my Qt knowledge is somewhat dated, so maybe there's a better solution nowadays.

Does anyone have any recommendations for the easiest way to write cross-platform GUI apps that can run without an internet connection? I was thinking maybe making it a webapp, but the offline requirement seems to rule that out. (Has localstorage progressed to the point where people can start up a browser "app" without an internet connection? I haven't looked into it for awhile.)

Plus I'm not sure how easy it is to write custom webapp GUI objects compared to the fantastic ease of writing custom .NET GUI objects via the VS GUI designer. Although anything that lets you quickly and easily write powerful GUI apps that run on all three platforms would be pretty fantastic. What toolset would you use to get the job done?

EDIT: Hmm, just thought of another idea... Would Clojure work well for writing native GUI apps? It's based on the JVM, so it seems like it could leverage existing GUI libraries. (All the Java GUI libs used to suck, but maybe the situation's improved now that Clojure is popular.)

Re: A glimpse into a new programming language under development at Microsoft

#63

Earlier quoted context omitted.

Computer games which are impacted by performance the most are written in what language?

I doubt that C++ is chosen because of raw performance (both C# and Java are close enough), but mostly because of memory and cpu cycle determinism.

>I doubt that C++ is chosen because of raw performance

As long as you're guessing, you can say anything you want.

>but mostly because of memory and cpu cycle determinism.

There is SOME memory determinism in C++. Much of the memory layout is left unspecified in the standard and left upto the implementations - e.g. virtual tables, exceptions, C++ standard library internals, primitive data type sizes, and a bunch of stuff that if listed one-per-line would take up dozens of pages.

Re: A glimpse into a new programming language under development at Microsoft

#64
post #31

This is going to be horribly negative so a bit of context first: I'm a professional C# programmer. I love C#, I think it's a great language. But there's a huge downside: C# only works on Windows. This vastly reduces the number of things you can do with it (yeah, I know about Mono). There's nothing here that suggests that this would have anything other than the same restrictions. So, assuming the language develops int…

>So the best you can hope for, basically, is a better C#. But not good enough to take on Java.

From the linked material - What are you basing this statement on?

Re: A glimpse into a new programming language under development at Microsoft

#65
post #52

Earlier quoted context omitted.

I've tried working with Mono on my Mac. Meh. You loose a big part of the eco-system of third-party libraries because almost every program I've written uses a ton of third-party libraries. When ever you google soething on C#, you'll likely be getting windows specific results. Once you go down the pain of getting Mono to run on Linux...you may as well have just written your program in Java (or something else). While I…

"the pain of getting Mono to run on Linux" What's painful about 'apt-get install mono-runtime mono-mcs'? (or your distro's equivalent) Its main target platform is/was Linux.

You forgot mono-winforms. And most users do forget it and then complain to a developer that the software does not work.

Re: A glimpse into a new programming language under development at Microsoft

#66

This sounds suspiciously similar to Rust.

Yes it does, but IMO only superficially. Rust has a completely different type system model and also Rust is not aimed at high performance applications, while this seems to be. Many(most?) new languages fade away because nobody is interested in implementing compilers/libraries writing documentation/teaching material/etc etc. I'll be impressed if they can ship something next year.

Re: A glimpse into a new programming language under development at Microsoft

#67
post #52
post #37

Earlier quoted context omitted.

> yeah, I know about Mono What's wrong with Mono? I worked with C# only briefly and I really liked it (as opposed to Java.. but maybe I just had better tools). If I'd need something a bit faster than python, C# would probably be my choice. That's assuming it's portable to other platforms...

I've tried working with Mono on my Mac. Meh. You loose a big part of the eco-system of third-party libraries because almost every program I've written uses a ton of third-party libraries. When ever you google soething on C#, you'll likely be getting windows specific results. Once you go down the pain of getting Mono to run on Linux...you may as well have just written your program in Java (or something else). While I…

Also, Mono's own ecosystem of additional libraries works better on Windows than on Linux. A while ago, I used a project that used an SQLite binding from the Mono project. They decided to discontinue development of this library in favour of a newer alternative, and it was then totally broken by subsequent Mono updates - but it continued to work fine on Windows with .Net. So any projects that still use this library are basically impossible to get working on Linux/Mac because Mono has awful backwards compatibility with the Mono Project's own libraries compared with .Net.

Re: A glimpse into a new programming language under development at Microsoft

#68
post #31

This is going to be horribly negative so a bit of context first: I'm a professional C# programmer. I love C#, I think it's a great language. But there's a huge downside: C# only works on Windows. This vastly reduces the number of things you can do with it (yeah, I know about Mono). There's nothing here that suggests that this would have anything other than the same restrictions. So, assuming the language develops int…

C# only works on Windows. This vastly reduces the number of things you can do with it (yeah, I know about Mono). Speaking of Mono, does anyone know of a good resource for C#/.NET devs to learn how to port their Windows apps to Linux/Mac relatively easily? I did a writeup a month ago about my first impressions of Mono: https://news.ycombinator.com/item?id=6744622 In short, there don't seem to be very many "Here's how…

If you want to use C#, the easiest way is probably using GtkSharp. I don't know if there's a way to use the VS GUI designer, but MonoDevelop has a built in GUI designer that works with GtkSharp -- and MonoDevelop runs on Windows too.

Might be worth trying out. You can still run your application on Microsoft's .NET stack on Windows, GtkSharp supports it just fine, and because it uses GTK it will look native on all of the supported platforms.

Disclaimer: I haven't actually tried any of the above.

Re: A glimpse into a new programming language under development at Microsoft

#69
post #52

Earlier quoted context omitted.

I've tried working with Mono on my Mac. Meh. You loose a big part of the eco-system of third-party libraries because almost every program I've written uses a ton of third-party libraries. When ever you google soething on C#, you'll likely be getting windows specific results. Once you go down the pain of getting Mono to run on Linux...you may as well have just written your program in Java (or something else). While I…

"the pain of getting Mono to run on Linux" What's painful about 'apt-get install mono-runtime mono-mcs'? (or your distro's equivalent) Its main target platform is/was Linux.

Getting my app to run was the hard part, not the Mono libraries itself. Even on OS X, it was pretty straightforward to get the libraries on there.

But once you started needed ASP.NET MVC, specific database drivers and setup, it become non trivial quickly, especially since stuff isn't as well documented as most other mainstream open source techs...

Edit: Also, to try and help our transition to running on Linux easier, we even integrated ServiceStack for a lot of the database drivers into the app. (Note: ServiceStack is one seriously great library if you are working in .NET-land)

Edit: Adding, that if I'm going to go through all this trouble to have a sub-set, and not-up-to-date version of the .NET framework and it's ecosystem to run as open source, I'd rather just use Java, and it's full ecosystem and be done with it.

Also, using MonoDevelop on my Mac was very uninspiring.

Re: A glimpse into a new programming language under development at Microsoft

#70
post #56

> 5) Modern error model. I am pretty excited to see this. Any existing language out there actually does this?

It sounded a lot like Eiffel[1] to me, except they also have traditional Exceptions when you need them.

[1] http://en.wikipedia.org/wiki/Eiffel_(programming_language)#E...

Post reply on HN