Live data from Hacker News

A glimpse into a new programming language under development at Microsoft

lambda-the-ultimate.org

191–200 of 230 posts

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

#191

Earlier quoted context omitted.

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…

I'm in the market of cross-platform desktop application as well and I've been monitoring Mono/Ximian for a while until last night when I was searching for a .NET Oauth 2.0 library and came across of a project called DotNetOAuth which after further digging does not work on Mono. I'm a Java developer and I would write the software using Java if only Java isn't stigmatized by "bad software" in the desktop market. It's t…

I recently worked on a small-ish desktop app that shuttled data between a HID USB device and a web service. We targeted Windows and OSX. The UI portion of the application was very simple and I still found the Xamarin/GtkSharp combination buggy and frustrating.

We used Wix for the Windows installer and the included OSX tools to make the Mac installer (http://s.sudre.free.fr/Stuff/PackageMaker_Howto.html was helpful).

A TeamCity build system using NuGet worked fine for building both flavors, though the Mac build was really just a shell script that TeamCity launched. We used the Xamarin compiler for Mac.

In hindsight I wish we had taken (found?) the time to go all the way and write separate OSX specific UI code and not used GtkSharp. And not require the install of the Mono framework for Mac users-- that really kills the experience. Supposedly you can bundle in Mono with the Xamarin .Mac product but we haven't found the time to get that far yet.

*EDIT: I failed to mention explicitly this was C#/Mono. Also for those interested I used http://www.signal11.us/oss/hidapi/ as a wrapper around the Mac HID USB APIs and it worked fine.

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

#192

Earlier quoted context omitted.

I assumed he meant safety in the general sense or memory safety specifically. Things like array bounds checks, dynamic cast failures throwing exceptions, etc.

But he said type safety, which is entirely compile time and allows you to avoid run time checks, making it faster not slower.

Type safety means well-typed programs can't go wrong. Corrupted memory is surely a case of going wrong, so memory safety is a part of type safety. (In this sense, C, C++, etc. are not type safe.)

By the way, it is possible and sometimes preferrable to do all type checks in runtime. Haskell provides this option: https://ghc.haskell.org/trac/ghc/wiki/DeferErrorsToRuntime

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

#193
A part of me is very excited by this. C# lives in a very interesting place now - MVC and EF are open-source and Mono is getting mature. There are tons of blind, stupid alleys of bad politics in C#'s library, but MS seems to have worked out the kinks.

A new gaming-compatible language that breaks free from the old legacy and purely embraces the new Microsoft platforms and their semi-open development model could be excellent. And with MS offering hardware platforms for gaming, mobile, desktop, and server, there's a lot of space for this language to really shine - a good systems language for XBox and WinPhone would be beautiful.

And while I'd cringe at another platform-specific language, Apple has proven that people will suffer through your exotic toolchain if it means getting to develop for a popular platform.

The biggest problem historically with C# isn't the windows-specific nature of the platform, it's the heavily Cathedral-oriented community. Developers are married to Microsoft libs, even when they suck, and it doesn't have the kind of open reusable tools that other platforms have. Microsoft has finally started achieving this, but only by creating open-source communities around their existing libs like EF and MVC.

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

#194

Earlier quoted context omitted.

I have been building GUI applications with Java and Swing for some time. I am willing to go on-the-record and state that Swing provides a reliable and thorough cross-platform GUI toolkit. Once you put the work in, you really can build an application that looks native-ish and does the same thing on Windows, Linux/GTK and Mac OSX. Unfortunately the learning curve is quite steep, many things are more complicated then th…

> I have been building GUI applications with Java and Swing for some time. I am willing to go on-the-record and state that Swing provides a reliable and thorough cross-platform GUI toolkit. Swing is used by two kinds of people: developers, because the tools that use it are just too good to go elsewhere (IntelliJ etc) and enterprise users that have it forced upon them. I don't think anybody is using Swing willingly --…

>I don't think anybody is using Swing willingly -- or enjoying it. Besides the "uncanny valley" effect to native widgets, it suffered from the start from the main negative of Java's culture: it was overengineered. On top, it underdelivers in many areas.

Just out of curiosity, what other gui tool kits have you used that you compare Swing too? I always wonder what gui toolkits those who decry Swing have experience with.

Myself, I've used Win 32 api, MFC, SWT, and gtk. Imo, Swing is by far the best of those; relatively consistent api, a wide variety of widgets, customizable, ... True it can be very complex (ie editor kits) and some things are/were missing for a long time (close buttons in tabbed panes). Also true that it doesn't look 'native' on all platform, but no gui tool kit can. I have not used Qt, but it seems to be equivalent to, or surpass Swing in all those areas.

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

#195

Earlier quoted context omitted.

kotlin looks cool. But it's missing some minor things that would make it much more friendly: * no regex literals * a little verbose(instead of [] for arrays, it's "Arrays") * hashes IMO should be JSON * why doesn't null evaluate to false? God I hate writing if (a != null). I'm much happier in javascript/ruby/groovy land where if can type "if (!a)" or "unless a" or even cooler "raise Exception("a should not be null")…

>kotlin looks cool except they should do all kinds of dumb stuff as if it were a scripting language It is a statically typed language designed to try to drag java programmers kicking and screaming into the 1970s. Virtually everything you listed would be a bad change. Just use a language that is actually similar to what you want.

This attitude is why java is stuck in the stone ages. Any ideas coming from the dynamically typed world are "dumb".

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

#196

Earlier quoted context omitted.

kotlin looks cool. But it's missing some minor things that would make it much more friendly: * no regex literals * a little verbose(instead of [] for arrays, it's "Arrays") * hashes IMO should be JSON * why doesn't null evaluate to false? God I hate writing if (a != null). I'm much happier in javascript/ruby/groovy land where if can type "if (!a)" or "unless a" or even cooler "raise Exception("a should not be null")…

>kotlin looks cool except they should do all kinds of dumb stuff as if it were a scripting language It is a statically typed language designed to try to drag java programmers kicking and screaming into the 1970s. Virtually everything you listed would be a bad change. Just use a language that is actually similar to what you want.

look at Rust btw. Statically typed, but heavily influenced by the scripting languages. You should set them straight!

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

#197
post #94

Earlier quoted context omitted.

If python is the language that you are gonna use, you would try Kivy cross-platform framework to make GUI for desktop and mobile.

I just tried Kivy. Thanks for telling me about it! Kivy is pretty awesome: very easy to use, and it Just Works on all platforms, even mobile. It's also painless to deploy Kivy apps to users, which is great. It's hardware accelerated, so I can write my own custom GLSL shaders for the UI, which is pretty cool. I bet I could even implement a Mario-style game using Kivy. The main application window is just a GL context,…

Kivy excels at a lot of things, but I'd say that its real value shows when you want to quickly make a cross-platform mobile app that also happens to run on desktop OSes. The widgets and markup language (KV) are designed to be used in a multitouch environment, and they seem pretty alien when used with a mouse and keyboard. They are pretty intuitive when used on a tablet or phone, though -- I recommend you try compiling your app for Android before giving up on the framework.

That being said, even when compiling for PC it's worked very well for me when a client wants an internal tool and is willing to give up a native feel in exchange for fast (cheap!) development. I wrote this for UCLA a few months ago, and I think the whole thing only took me about 20 hours: https://github.com/sbrother/wassum-lab-lick-program/

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

#198

Earlier quoted context omitted.

>kotlin looks cool except they should do all kinds of dumb stuff as if it were a scripting language It is a statically typed language designed to try to drag java programmers kicking and screaming into the 1970s. Virtually everything you listed would be a bad change. Just use a language that is actually similar to what you want.

look at Rust btw. Statically typed, but heavily influenced by the scripting languages. You should set them straight!

I've seen rust. I don't know what you think is so heavily influenced by scripting languages, you'll have to share.

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

#199

Earlier quoted context omitted.

>kotlin looks cool except they should do all kinds of dumb stuff as if it were a scripting language It is a statically typed language designed to try to drag java programmers kicking and screaming into the 1970s. Virtually everything you listed would be a bad change. Just use a language that is actually similar to what you want.

This attitude is why java is stuck in the stone ages. Any ideas coming from the dynamically typed world are "dumb".

No, dumb ideas are dumb. It has nothing to do with java. Haskell is statically typed, and it is far more advanced than the languages you are thinking of when you think advanced.

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

#200
"...that a nirvana for a modern general purpose language would be one that satisfies high productivity (ease of use, intuitive, high level) AND guaranteed (type)safety AND high execution performance..."

So they're making MS Go. Just like C# is MS Java.

Post reply on HN