Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Disclaimer: I'm currently interning at Microsoft.

Y'know, I can't think of many companies that have as much support for open source programming language development. Between Roslyn, TypeScript, what's left of F#, the Language Server Protocol, Chakra, V8, etc., Microsoft has a veritable powerhouse of compilers and PL development. Google has Go and Dart, but as far as I can tell, the development process is contained in Google mailing lists. Apple has Swift and LLVM and Mozilla has Rust, but each of those footprints isn't as large as the combo of .NET and TypeScript.

I mean, ffs, Richard Stallman is coming to speak at Microsoft. Well, Microsoft Research. But still. Stallman. That's insane.



Microsoft also have Microsoft Research Cambridge. Where I am pretty sure they have Simon Peyton Jones who works on Haskell there.


I think V8 belongs in the google camp. "V8 is an open-source JavaScript engine developed by The Chromium Project for Google Chrome and Chromium web browsers."

https://en.wikipedia.org/wiki/V8_(JavaScript_engine)

Seems google does a lot of opensource stuff as well.

https://opensource.google.com/projects/explore/featured


I saw a photo of Stallman drinking bottled water once, which probably contradicts with his ideology that water wants to be free.

Regarding the topic: I really love what TypeScript has done and where it is today. I wish more people would adopt it or at least support it with proper definition files. I mean there is DefinitelyTyped.org but it has its flaws. Unless it's not a first class language like within Angular I still find it somewhat hard to work with it because of interoperability with plain JS libraries, which always ends in some trade-offs.


I wonder if you're referring to his talk at ChasmWare '16?

If so I remember that being a thing (potential licensing issues with the megacorp subsidiary that bottled it) so we dumped the bottle and filled it with tap to be on the safe side. Technically he didn't pay a dime and in the end it was us paying the company for the bottle and the venue (not Richard) who swallows the cost of the water and it's delivery as a utility.

At the time I was of the opinion we over-thought it a bit and involving a $100/hr lawyer was crazy. Turns out my manager was right when she said "Alexander Dmitri, I say this to you: Never under-estimate the people who might try to call this ridiculous stuff out to detract. The haters must be met with diligence."


Apparently not the first time Stallman has had a visit to Microsoft

Microsoft Welcomes Richard Stallman (2005) http://suseroot.com/rms.php


Haha, that's actually a perfect example of how Microsoft has changed. 14 years ago it was literally an April Fools day joke to say Stallman would go to Microsoft.


> what's left of F#

Has it been abandoned? What did you mean by this?


This is silly, F# has never been more of a first-class citizen. It's explicitly part of the .net core distributions, part of the nightly testing and validation cycles, and is in the TechEmpower benchmarks.


Try to use EF, Forms, WPF, UWP, designers, architecture tooling with F#.

Or type providers in .NET Core.

Visual Studio 2017 has even been released with critical bugs in F# tooling, as they weren't considered as show stopper.

In regards to VB.NET and C#, it certainly feels like second class, and occasionally even C++/CLI gets more love.


That’s because C/C++ is what Windows is written in, and C# is likely used by a majority of their customer base. The only reason anyone pays attention to VB is because of Excel/VBA. F# (or Lisp for that matter) just isn’t as cool as Python or JS/TS in the wider general dev community. Which might be a terrible shame, but... it’s also the truth as it stands right now. I’m a firm believer all languages need a core platform or use case that they excel at, an ecosystem. And I’ve seen more of an attempt at that with Dart and Flutter than I have with F# up till now. Of course, we all know with the way Google kills things, it’s only a matter of time before the Chrome team ultimately kills Flutter somehow, unless it gets repositioned into the new way to make interactive banner ads... By comparison, Microsoft seems pretty stable, so I think F# will get its niche. It took Ruby over a decade before Rails came along to popularize it to a wider audience, and C++14 and friends reinvigorated C++ after many, many years. Even JavaScript languished as DHTML and jQuery for over a decade before seeing a comeback on servers and as annual standards mostly thanks to tooling and ecosystem developments powered by faster browsers and incredibly broad first-class platform support. F# sounds like a giant work-in-progress, perhaps hampered by the complexity of .NET and Microsoft in general — example: https://github.com/fsharp/fslang-suggestions/issues/542 By comparison, the C# community just seems faster, larger, more decisive: https://github.com/filipw/dotnet-script/issues/156


I don't know the actual status, but I do know that there aren't that many people at Microsoft officially working on F#. That could change, but I don't know the specifics.


Bummer, I've been curious about learning it.


I don't think there's ever been many people working on f#...(compared to c#)

Its good as it is anyway.


Yeah definitely don't take this as a reason to avoid F#. It's open source anyways, so it'll be maintained regardless. Plus the team has gone to heroic lengths to integrate an ML into .NET. Their unification process is insane and probably technically undecidable.


I don't believe F# has been abandoned. It's actively being maintained.

https://github.com/dotnet/fsharp/


Plain OCaml is still a better and more powerful language. F# is like a poor relative to it. The only good thing of it is .NET integration. It lacks so many features of OCaml.


And OCaml lacks features that F# has. Like proper multicore support, computation expressions, unit of measure, operator overloading.


> computation expressions, unit of measure, operator overloading.

We have `let` operators instead.

And F# doesn't have proper overloading, it has an SML-like hack working for built-in types only, and only within a function, as far as I understand. It needs typeclasses for proper overloading. There is an ongoing work on Modular Implicits for proper overloading (and even dependent types in core language), but they are not there yet.


Why so? Genuinely curios from a guy who knows neither.


I know OCaml, but not F#.

The most striking difference is that OCaml has the ML module system, where you can have functions from modules to modules. F# doesn't.

Recent versions of OCaml now have features like first-class modules and binding operators. AFAIK F# has not added them.

On the other hand, F# has features that OCaml doesn't, such as computation expressions, strongly typed units of measure, and active patterns.

See https://stackoverflow.com/q/179492/8887578.


As an OCaml person, what are your thoughts on Reason?


I personally don't use Reason. It's syntax is supposed to be more familiar for people coming from JavaScript, but for me, it's weird. My least favorite aspect is the function syntax (both lambdas and function application). Are functions still curried, or...? If they are, then the syntax should reflect that.

As for BuckleScript, I wish that it had better integration with the main OCaml ecosystem. BuckleScript is supposed to work well with NPM, but I am more interested in OPAM. I personally use js_of_ocaml, a compiler to JavaScript that works well with the OCaml tooling.

If Reason and BuckleScript can bring more people to OCaml, then I'm glad. However, I perceive that the people coming to OCaml with BuckleScript seem to be making libraries based around the NPM ecosystem. I feel worried that a separate OCaml ecosystem will come into existence. However, I have not observed any other OCamller voice these thoughts, so I'm probably alone or misinformed here. I'm not too knowledgeable about the JavaScript trends.

Your comment refers to me as an "OCaml person." Please know that these opinions are my own and do not in any way represent the collective OCaml community's opinion on Reason and BuckleScript.


It'd be news to me that it's abandoned, since we're wrapping up our latest release in September :)


V8 is Google / Chromium.


Since Edge adopted V8 as its new engine, Microsoft has been contributing to V8


Sure, but a bit silly to put it under Microsoft and not mention it in the Google list.


Do you know when? Also is it some internal MSR thing at 99 or inside-out in east campus?


Next Wednesday in 99/1919. I actually can't attend cause I'm finishing my internship. If you haven't already, I'd sign up for the MSR Talks mailing list.


So I'm guessing it's internal only? Bummer.


Yeah, I would love to see it. :(


what's the DG alias?


Yeah, inquiring minds want to know.


Wow, it's true. Microsoft folks can look it up on resnet.


Reasons not to use Microsoft https://stallman.org/microsoft.html


[flagged]


I'm sure you meant well, but please don't scold fellow users like this on HN.


I don't want to start an argument but you are splitting hairs. It is quite clear from his disclaimer that he is an intern and it is pretty obvious to most people around here what that means socially within his company. You don't need to be patronising about it.


> and it is pretty obvious to most people around here what that means socially within his company

Genuinely curious here: can you expand on this a bit? I'm not quite sure what you mean.


Interns have access to a lot of private information. t's clear from the other comments that the confusion has already occured.

It's a serious fireable offence, or in this case a non offer at the end of the internship.


You're right. Sorry. I'll remember that


I don't think you have anything to be sorry for. You should be mindful of what you publicly say about your employer but being enthusiastic (if a bit uncritically) about your workplace is part of the point of interning. It's a lot less weird than someone making an account just to berate you about it.


I mostly regret the comment on F#. It's not my place to say and it makes it seem like I know more than I actually do.


The F# comment was the only thing I think that was out of place. It posed a definite non public position on a product.

But you clarified it after the fact so minimized any damage.

Microsoft will likely not care about it, but it is the kind of thing to be mindful of.

Most of the big tech companies will have some kind of training explicitly calling out off the cuff comments and how to be mindful of them.


> Richard Stallman is coming to speak at Microsoft. Well, Microsoft Research. But still. Stallman. That's insane.

Wait, what? That's very interesting.

I love Microsoft's language tools (TS, Vs Code, C#, LSP, ...) and I used to work on Azure, but I'm still very skeptical. For these 3 reasons:

1. https://en.wikipedia.org/wiki/Open_Letter_to_Hobbyists 2. https://www.theregister.co.uk/2001/06/02/ballmer_linux_is_a_... 3. http://techrights.org/2009/06/25/bill-gates-office-patents/

Until BillG himself comes out and says Intellectual Slavery laws should be changed, I won't fully trust MSFT's long term motives here.


I've heard bad things about working at Microsoft. Perhaps from people masquerading as (ex)employees, though I suspect not.

I do use TS, and it's enabled me to have a bit more peace of mind than I might otherwise have. It's also totally wrecked projects before (Loopback + TS = "as any" * 1000).

In any case, the sun could shine out Microsofts ass and I'd still be skeptical of them. Windows has an abhorrent amount of code smell to it, and (as stated) I haven't heard good things about working there. Really would rather they weren't any more of a mega corp than they already are. Really don't trust them. But TS is nice.


I loved working there. The people are amazing and I made many great friends. But I was an engineer and not involved in business decisions. To me, making file formats hard to parse to the detriment of your users for business strategic advantage is smart business but wrong. I don’t want to judge people from the 90s by today’s standards, and maybe Microsoft brass really have changed their tune, but maybe they have some secret Ulterior plan, like in the past.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: