Announcement

Collapse
No announcement yet.

Microsoft To Open-Source .NET, Bring It Officially To Linux

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • directhex
    replied
    Originally posted by mike4 View Post
    Well there's a reason for Unity3D to still use a older Mono and if I remember correctly it's because newer Mono parts are only free for personal use. I was surprised to see such a license
    mixed with older LGPL code.-
    Mono's runtime is LGPL, but available under a proprietary license for money (this is needed for iPhone, as the iOS App Store license is incompatible with GPL or LGPL).

    So you can use the Mono source under the terms of the LGPL, but using it on closed platforms requires you to buy a license from Xamarin to fulfil the licensing requirements of the closed platform.

    Unity have been unable or unwilling to secure a license to a newer proprietary-license Mono than the one they already paid for.

    Leave a comment:


  • mike4
    replied
    Originally posted by directhex View Post
    As of February 1st, all iPhone apps need to be built for ARM64.

    Unity can't use code from the LGPL'd Mono runtime, so to add ARM64 support to Unity requires writing their own new arch port on top of their old non-LGPL Mono fork, or doing something different. They're doing something different.

    Using Microsoft's code is no help, as there's no public ETA yet on when the JITter will be released, or whether it includes support for ARM64.

    Well there's a reason for Unity3D to still use a older Mono and if I remember correctly it's because newer Mono parts are only free for personal use. I was surprised to see such a license
    mixed with older LGPL code.-
    I don't have a iPhone and if they don't allow LGPL I'll never ever buy such.-

    Leave a comment:


  • DanLamb
    replied
    Originally posted by reCAPTCHA View Post
    Thanks, also to @vein. I was working mainly with jdbc and prepared statements directly in my few projects, and with hibernate when collaborating/I had to. In the last time I am looking into JOOQ and actually first time in my life I am having to work with MS stuff, more specifically a .NET C# project (No ASP.NET, desktop-databse application.) thus my interest in LINQ and how it relates to stuff to be found in Java environment. With other words I am still noob with LINQ, functional programming, and latest Java 8 libraries.
    FYI, basic C# LINQ is just in-memory functional collections: map, filter, fold/reduce operations. Microsoft uses an SQL like naming convention, and offers a special SQL like syntax in addition to the regular C# API. Every other major language has had this functionality for a while. Java 8 is the last to catch up.

    For SQL database access, Microsoft also provides SQL Server extensions to LINQ so you can actually query an SQL database with LINQ expressions. It combines functional expressions with object-to-relational mapping tech (ORM). In the Java world, the most popular ORM is Hibernate/JPA (I would advise against this). There is also JOOQ/jdbi layers. Scala has "Slick" which has both functional access, ORM like mapping, and all queries/updates are in Scala and are fully type checked (no sql/hsql strings), and is generally fancier.

    Leave a comment:


  • reCAPTCHA
    replied
    Originally posted by DanLamb View Post
    C#/LINQ "Select" -> "map" in Java, Scala, JavaScript/ECMAScript, Haskell
    C#/LINQ "SelectMany" -> "flatMap" in Java, Scala, ">>=" in Haskell
    C#/LINQ "Where" -> "filter" in Java, Scala, JavaScript/ECMAScript, Haskell
    C#/LINQ "Aggregate" -> "fold" or "reduce" in Java, Scala, JavaScript/ECMAScript, Haskell

    (btw, Ruby and Python have this functionality too, but I left them out for simplicity...)

    C# LINQ is basically functional collections. Before Java 8, there were add-on libraries for this, but with Java 8, it's part of the standard library, and cleaner lambda syntax makes it more usable.
    Thanks, also to @vein. I was working mainly with jdbc and prepared statements directly in my few projects, and with hibernate when collaborating/I had to. In the last time I am looking into JOOQ and actually first time in my life I am having to work with MS stuff, more specifically a .NET C# project (No ASP.NET, desktop-databse application.) thus my interest in LINQ and how it relates to stuff to be found in Java environment. With other words I am still noob with LINQ, functional programming, and latest Java 8 libraries.

    Leave a comment:


  • DanLamb
    replied
    Originally posted by reCAPTCHA View Post
    Could you please mention that equivalent of LINQ for Java that I am not aware of?
    C#/LINQ "Select" -> "map" in Java, Scala, JavaScript/ECMAScript, Haskell
    C#/LINQ "SelectMany" -> "flatMap" in Java, Scala, ">>=" in Haskell
    C#/LINQ "Where" -> "filter" in Java, Scala, JavaScript/ECMAScript, Haskell
    C#/LINQ "Aggregate" -> "fold" or "reduce" in Java, Scala, JavaScript/ECMAScript, Haskell

    (btw, Ruby and Python have this functionality too, but I left them out for simplicity...)

    C# LINQ is basically functional collections. Before Java 8, there were add-on libraries for this, but with Java 8, it's part of the standard library, and cleaner lambda syntax makes it more usable.

    Leave a comment:


  • directhex
    replied
    Originally posted by mike4 View Post
    Good news. I vaguely remember something that Unity3D will remove Mono parts because of license issues.
    So I guess we simply wait for Unity3D, Ubuntu etc. to replace Mono with MS Net?
    As of February 1st, all iPhone apps need to be built for ARM64.

    Unity can't use code from the LGPL'd Mono runtime, so to add ARM64 support to Unity requires writing their own new arch port on top of their old non-LGPL Mono fork, or doing something different. They're doing something different.

    Using Microsoft's code is no help, as there's no public ETA yet on when the JITter will be released, or whether it includes support for ARM64.

    Leave a comment:


  • oleid
    replied
    Originally posted by DeepDayze View Post
    Now why taint your Linux system with Microsoft-ware?
    You know, there is code from Microsoft in the kernel, do you?
    Last edited by oleid; 11-17-2014, 08:11 AM.

    Leave a comment:


  • vein
    replied
    Originally posted by reCAPTCHA View Post
    Could you please mention that equivalent of LINQ for Java that I am not aware of?
    I think he means the Streams API that is new in Java 8. I think it is very nice.

    For example, if you combine it with Spring JDBC, you can write something like this:

    Code:
    try (Connection c = getConnection()) {
        String sql = "select schema_name, is_default " +
                     "from information_schema.schemata " +
                     "order by schema_name";
    
        new JdbcTemplate(new SingleConnectionDataSource(c, true))
    
            .query(sql, (rs, rowNum) ->
                new Schema(
                    rs.getString("SCHEMA_NAME"),
                    rs.getBoolean("IS_DEFAULT")
                ))
    
            .forEach(System.out::println);
    }
    and get a nice alternative to hibernate

    Leave a comment:


  • reCAPTCHA
    replied
    Originally posted by DanLamb View Post
    C# has LINQ, Java has the exact same functionality.
    Could you please mention that equivalent of LINQ for Java that I am not aware of?

    Leave a comment:


  • mike4
    replied
    Good news. I vaguely remember something that Unity3D will remove Mono parts because of license issues.
    So I guess we simply wait for Unity3D, Ubuntu etc. to replace Mono with MS Net?

    Leave a comment:

Working...
X