Live data from Hacker News

Microsoft takes .NET open source and cross-platform

news.microsoft.com

631–640 of 937 posts

Re: Microsoft takes .NET open source and cross-platform

#631
post #241

Good move, but (too) late. The move is designed to attract iOS and Android Devs to .NET. But let's see: As an iOS developer, I've invested years in learning Objective-C and Cocoa, UIKit, etc. Now I'm starting with Swift. I'm sure a lot of iOS devs feel this way. Besides, if I can't use it from OSX, then I'm out. Why should I forget everything and learn C#/.NET ? If I want a write-once-run-everywhere thing, then I cou…

I think it's much more of a "I already write C#, so now I can write apps for other platforms without needing to learn their language!" That leads to further evangelism at conferences, more talk about how C# is great and the platform is excellent, etc. I think they hope to persuade entire dev shops to switch over, rather than single devs, in a very long-term sort of way -- even if it's just a small percentage that cha…

This is my interpretation: Microsoft's biggest threat right now is that to be a viable mobile developer at the moment you pretty much need to buy a Mac and embrace OSX. Once you have done that you are obviously not running Visual Studio any more but will be using XCode and cross platform tools like Eclipse. Then you are further extremely unlikely to write things in C#. So this is about saying to the existing C# developers, "don't leave, don't buy a Mac, we are going to support you to write everything you need (Android, iOS etc.) without leaving the comfort of Visual Studio".

Re: Microsoft takes .NET open source and cross-platform

#632

Earlier quoted context omitted.

>"a bribery scandal involving distributors selling Microsoft products" I'm not sure Best Buy reflects that poorly on Microsoft. >"They reportedly have raised over $5.5 billion from many large companies including Microsoft, Intel, Sony, Nokia, Apple, Google, Yahoo, American Express, Adobe, SAP, Nvidia, and eBay, plus investment firms such as Stanford, Hewlett Foundation, Mayo Clinic, and Charles River Ventures." Again…

> I'm not sure Best Buy reflects that poorly on Microsoft. Best buy didn't enter into it, you probably did not fully read the link. This was about Romania, not about the USA. > Again, doesn't reflect that poorly on Microsoft. It does, because IV is best described as a patent troll in a nice suit. > Is a software sales company supposed to not sell software? That's what they do. How does that reflect poorly on them? Be…

I agree Intellectual Ventures is a patent troll, but are they that involved with Microsoft? Their founder Nathan Myhrvold is the former CTO of Microsoft (he left in 2000), but I don't see any other connections.

Re: Microsoft takes .NET open source and cross-platform

#633
For a long time I have held off on embracing .NET even though it offers certain advantages over the JVM ecosystem because it was clearly a Windows-first, everything else second ecosystem. If this changes that then I might for the first time in a long time take a second look at it.

Re: Microsoft takes .NET open source and cross-platform

#634
post #303

Earlier quoted context omitted.

You find C# harder than this? trait SeqLike[+A, +Repr] extends Any with IterableLike[A, Repr] with GenSeqLike[A, Repr] with Parallelizable[A, ParSeq[A]] { self => or def :+[B >: A, That](elem: B)(implicit bf: CanBuildFrom[Repr, B, That]): That

Thank you! I'm working on a team that inherited some Scala code from contractors that no longer work for us and we've found that (at least their) Scala is almost as hard to read as bad Perl. Compounding this is a severe lack of good online documentation outside of the standard library reference and simple tutorials which don't go into the depths we need to know (like how do you create a Manifest from Java to call int…

> Thank you! I'm working on a team that inherited some Scala code from contractors that no longer work for us and we've found that (at least their) Scala is almost as hard to read as bad Perl.

I've seen C# that is almost as hard to read as bad Perl -- also, not surprisingly, from contractors who weren't going to be maintaining the code.

I don't think this says anything about C# or Scala, I think what it says is something about the natural result of the economic incentives of people being paid to throw code over the wall before they leave for greener pastures.

Re: Microsoft takes .NET open source and cross-platform

#635

It's funny how Nadella has moved the needle more for developers in 9 months than Ballmer did in the last decade or so, and all that without running around like a madman too. Pretty good. I'll never switch back to MS for what they've done in the past but it is nice to see them try hard to become a nicer player in the software eco-system. Google and Apple need some other party to keep them sharp, it might as well be MS…

>I'll never switch back to MS for what they've done in the past I wish more people were open to admit things like that. It would greatly reduce the time I've spent the last few months arguing over products and technologies with people who keep the fact that they don't hate the product's quality directly but indirectly, given that it was made by a company they don't support anymore.

companies have to support people (customers, developers), not the other way around.

Re: Microsoft takes .NET open source and cross-platform

#636
post #125

It's funny how Nadella has moved the needle more for developers in 9 months than Ballmer did in the last decade or so, and all that without running around like a madman too. Pretty good. I'll never switch back to MS for what they've done in the past but it is nice to see them try hard to become a nicer player in the software eco-system. Google and Apple need some other party to keep them sharp, it might as well be MS…

Seeing comments like this “I'll never switch back to MS for what they've done in the past” always reminds me of this post from Hanselman http://www.hanselman.com/blog/MicrosoftKilledMyPappy.aspx

https://news.ycombinator.com/item?id=7281319

This is partly what inspired me to write a wishlist for Satya in the first place.

Re: Microsoft takes .NET open source and cross-platform

#637

Microsoft only acts right when they're losing. It took the loss of dominance on the web to begin to produce a standards-compliant, modern browser. Silverlight never really took off because it had such limited OS support. And, now that they know beyond a shadow of a doubt they can't win the mobile device market (and are even losing some of the laptop market to Chromebooks, and Android hybrid devices), they'll grudging…

> Microsoft only acts right when they're losing.

Can you expect anything more, really, in the end? It's why we have to always be vigilant against any company taking a stranglehold on any technology. My biggest question in nearly any technology choice these days is "to what extent does this lock me in?". Because the only thing that really keeps these companies working in your favor is the threat that you can, and will, leave if they don't.

Re: Microsoft takes .NET open source and cross-platform

#638
post #603
post #519

Earlier quoted context omitted.

That's true. A talented C# dev will need to know co/contravariance as well as implicits considering they also exist in C#. In Scala, being familiar with these concepts is practically a necessity, though.

Can you give me examples of implicits in C# ? I am unable to see a parallel.

  using System;
  
  public class Program
  {
  
  public class Person
  {
    private string _name;
    private int _age;
    
    public Person(string name, int age)
    {
      _name = name;
      _age = age;
    }
		
    public static implicit operator int(Person p)
    {
      return 42;
    }
  }
	
  public static void Main()
  {
    var person = new Person("Jim", 51);
    var number = 100;
    AdditionPrinter(person, number); // Prints 142
  }
	
  public static void AdditionPrinter(int a, int b)
  {
    Console.WriteLine(a + b);
  }
  
  }

Re: Microsoft takes .NET open source and cross-platform

#639

Earlier quoted context omitted.

Thank you! I'm working on a team that inherited some Scala code from contractors that no longer work for us and we've found that (at least their) Scala is almost as hard to read as bad Perl. Compounding this is a severe lack of good online documentation outside of the standard library reference and simple tutorials which don't go into the depths we need to know (like how do you create a Manifest from Java to call int…

> Thank you! I'm working on a team that inherited some Scala code from contractors that no longer work for us and we've found that (at least their) Scala is almost as hard to read as bad Perl. I've seen C# that is almost as hard to read as bad Perl -- also, not surprisingly, from contractors who weren't going to be maintaining the code. I don't think this says anything about C# or Scala, I think what it says is somet…

Yeah, I would agree with that. Scala is, at most, probably 2-3% responsible for the problems we're having with this project (due to inexperience with it). The vast majority of the blame rests on our contractors and on our management's lax oversight of them.

Re: Microsoft takes .NET open source and cross-platform

#640
post #519
post #490

Earlier quoted context omitted.

It is easier, there is only one concept to understand : generics, with scala you must understand generics, co and contra-variance, implicits.

That's true. A talented C# dev will need to know co/contravariance as well as implicits considering they also exist in C#. In Scala, being familiar with these concepts is practically a necessity, though.

> A talented C# dev will need to know co/contravariance as well as implicits considering they also exist in C#.

True for co/contravariance. For implicits, that depends on which implicits you are talking about.

Scala has:

* implicit conversion operators (these have existed in C# for some time, under the same name)

* implicit parameters (C# doesn't have an analog to these that I can think of)

* implicit classes (C# has an analog in classes providing extension methods, though the classes themselves are distinguished by a keywords as they are in Scala; in Scala, these are essentially syntactic sugar for creating a normal class and an implicit conversion from the extended class.)

Post reply on HN