C++ does not perform, is not a managed language, and has nothing to offer. What could he possibly be talking about? I read this as MS once again getting it completely wrong. Seriously C++ solving managed languages performance and memory problems? Physician, HEAL THY SELF.
Computer games which are impacted by performance the most are written in what language?
A glimpse into a new programming language under development at Microsoft
71–80 of 230 posts
Re: A glimpse into a new programming language under development at Microsoft
#72This 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…
At first, I ran with the Mono reimplementation of Winforms on Linux. That didn't work very well. There are a lot of little incompatibilities, like differences in how keystrokes are translated, and very buggy text boxes.
So I reimplemented the UI in Gtk-Sharp. That was mostly a matter of translating existing Gtk documentation to the OO API presented by the C# wrapper. I could write this in Visual Studio and run using Gtk on Windows to test; Mono itself wasn't actually needed here.
I then ran the app using Mono on Windows. Once all the DLLs were in the right places, it mostly just worked. Running it on Linux - specifically, Ubuntu 12.04 LTS - was a little trickier, as Ubuntu has split out many of the different assemblies into separate packages, and you have to grovel around a bit to get what you want, if you don't want everything. But again, it mostly just worked.
Compiling using Mono took a little bit of figuring out - mainly, finding out I had to use dmcs rather than mcs or gmcs to enable the right language features. But again, once the right assemblies were referenced on the command line, it mostly just worked.
Writing a cross-platform app in Mono? I wouldn't really try that. Having a separate UI layer for each platform gets you a much better experience. Gtk programming itself is extremely clunky compared to Winforms, which itself is quite clunky - albeit in different dimensions - compared either with Delphi's VCL or WPF. But it was the only way I could see to go to get a reasonable experience on Linux.
Re: A glimpse into a new programming language under development at Microsoft
#73Earlier quoted context omitted.
Sounds like Java 8!
Doesn't Java still require an instalation of JRE, which is an analogue to .NET? edit: If it somehow didn't need it, I would start considering it as my next language to learn.
Re: A glimpse into a new programming language under development at Microsoft
#74This 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…
Granted, for many people, it's about as hip as Rails is to a newly converted node.js fan, but Tcl and Tk are still a pretty good way of writing smaller apps that run cross platform. Like someone else says, if you want a native GUI, you really need to write that separately for each platform. But that's a big investment, and for some systems, it might not be worthwhile.
Re: A glimpse into a new programming language under development at Microsoft
#75I would imagine that language like that would be one of the best you could hope for. I hope this language will fit all the bullets. - C# syntactic sugar - As fast as C++ - Does not require .NET - Runs on Windows/Linux/Unix with no problems
No, we need better foundations.
> - As fast as C++
I think it is not so much about raw speed (although this is certainly important) as it is about reliability. Raw speed (and, in general, runtime efficiency) is usually a corollary of elegance in design.
Now that we have programming languages with linear types and static lifetime management (Rust), I think it is fair to say garbage-collected systems have "duck-typed lifetimes" and languages with raw pointers have "untyped lifetimes".
And here is the catch: The principle that duck typing adds overhead (unacceptable for systems programming) does not only apply to values (in the form of the "type tag" that every value must carry), it applies to lifetimes as well (in the form of garbage collection pauses)!
Furthermore, I strongly suspect the aforementioned principle applies to anything worthy of being expressed statically. Off of the top of my head: validity of indices for sequential containers and keys for associative containers, which requires dependent types to be expressed statically, and whose duck typing counterpart is throwing something like .NET's ArgumentOutOfRangeException or KeyNotFoundException.
Re: A glimpse into a new programming language under development at Microsoft
#76Earlier quoted context omitted.
C# developer here, also love the language. I completely agree and I only hope that this new thing will be just as good as C# but fully cross-platform. It would be great. >mobile Xamarin is pretty solid, although it costs a lot.
You looked at Kotlin? As a C# developer I'm loving the language and it is x-platform. And that's despite my assumed bias, because I work at JetBrains.
Re: A glimpse into a new programming language under development at Microsoft
#77Earlier quoted context omitted.
The idea that MS is out to envelope developers by enticing them into a language that requires massive cash outlays or *ongoing licensing fees* is not supported by reality. ... The only requirement being that they run on a Windows OS Mhm. Yes, I suppose you can run some C# on a non-windows machine, but it'll have bugs, break, some libraries won't be supported and there's no tooling support. ...but don't worry, you can…
Why does this need to be explained to C# people every time we have this conversation? Seriously, every time! C# runs great on 90% of desktop computers because Microsoft has had a 20 year desktop monopoly. It's is a walled garden until we can easily move code to other platforms and have it perform at the same level.
Mobile apps, web apps and games are where the money is these days; and writing those in C# requires license fees for tools and (in some cases) servers to run the software on.
Are you suggesting that if Microsoft releases this new language they might not require an expensive Visual Studio license so you can use the language plugin, or an expensive server license to run it on?
(To be fair, the python developer tools actually did this, with a forked free version of visual studio, and the typescript compiler is free and open (although the tooling plugin requires VS Pro)) ...so perhaps its not totally out of the question).
I'm not holding my breath, but if they surprise me, I'll happily eat my words.
Re: A glimpse into a new programming language under development at Microsoft
#78This 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…
Mono solves everything you complain about and that's the only mention it gets?
Re: A glimpse into a new programming language under development at Microsoft
#79This 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…
Look at an actively maintained solution like Xamarin or Unity; Xamarin lets you write your UI specific code for each platform; Unity lets you share UI across platforms but you won't get a 'native' look and feel on any.
For both of these you won't be able to use the majority of existing .Net infrastructure (nlog, nject, nhibernate, etc) because they are locked into the windows CLR, but there are a few ports and you can often get away with compiling the source from codeplex yourself (the prebuilt DLLs just wont work).
(Unfortunately, porting your existing application is absolutely out of the question in most cases, for the reason above. Perhaps if you've carefully isolated concerns it might be possible...)
Re: A glimpse into a new programming language under development at Microsoft
#80This 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.