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…
Microsoft takes .NET open source and cross-platform
631–640 of 937 posts
Re: Microsoft takes .NET open source and cross-platform
#632Earlier 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…
Re: Microsoft takes .NET open source and cross-platform
#633Re: Microsoft takes .NET open source and cross-platform
#634Earlier 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…
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
#635It'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.
Re: Microsoft takes .NET open source and cross-platform
#636It'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
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
#637Microsoft 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…
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
#638Earlier 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
#639Earlier 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…
Re: Microsoft takes .NET open source and cross-platform
#640Earlier 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.
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.)