15 ms·
Silver: A free implementation of Swift for .NET, Java, Android, and Cocoa
- deleted 12y ago[deleted]
- andrewchambers 12y agoApples? I prefer oranges.
- deleted 12y ago[deleted]
- sergiotapia 12y agoThey should make it 100% free for students. Once they graduate and enter the workforce they will recommend this tool to employers.
- dantle 12y agoI believe it's free for everyone. > RemObjects Silver is absolutely free of charge to use, both during the current beta period, and once we release the shipping version.
- azakai 12y agoSilver itself might be free, but I think only if you bought the compiler already, http://elementscompiler.com/elements/pricing.aspx http://elementscompiler.com/elements/pricing.aspx
- aikah 12y ago> Silver itself might be free, but I think only if you bought the compiler already, so it isn't free software at all.
- dwarfland 12y agoWe make three compilers. Oxygene, C# and Swift. The Swift compiler is/will be completely free use for everybody — no purchase required.
- ckok 12y agoThat's for the C# and Oxygene (Pascal) frontends. The Swift part of it is free.
- spiralganglion 12y agoCool! But, is it possible that this violates Apple's TOS or any legal limitation on use of the Swift language? I remember there being a lot of heated discussion about making Swift officially open source back when it was announced, but I don't recall ever hearing anyone suggest a community project to make an OSS compiler for it. This is most interesting, but I'd love to know that Apple would be okay with this, or would have no recourse to shut it down, prior to putting in the time to pick it up.
- djur 12y agoProgramming languages cannot be copyrighted. It doesn't look like they've reimplemented any Apple APIs, so there wouldn't appear to be any room for an Oracle-style lawsuit claiming that standard library code was copied. I don't know what the trademark situation might be, though.
- mehrdada 12y ago> Programming languages cannot be copyrighted Are you sure? I'm genuinely curious to see a reference/precedent. Also, does that restrict patentability of programming language features? (I personally can see PLs not being copyrightable, but being patentable.)
- infraruby 12y agohttps://en.wikipedia.org/wiki/Oracle_America,_Inc._v._Google,_Inc https://en.wikipedia.org/wiki/Oracle_America,_Inc._v._Google....
- djur 12y agoFor Europe, there's http://en.wikipedia.org/wiki/SAS_Institute_Inc_v_World_Programming_Ltd http://en.wikipedia.org/wiki/SAS_Institute_Inc_v_World_Progr.... There's not really any case law I'm aware of in the US, mostly because nobody's ever tried. Copyright doesn't cover "facts, ideas, systems, or methods of operation". You can trademark the name of a language, and its documentation and any distributed software are under copyright, but the process required to translate that language into machine code isn't eligible for copyright. Parts of the implementation might be patentable, but I don't know of any cases of anyone successfully patenting a programming language. The Oracle vs. Google lawsuit is still going back and forth in the courts. It's worth noting that even Oracle isn't claiming that the parts of Android that involve parsing and compiling Java code are infringing on their copyright. The matter of controversy is that they claim copyright on the design of the Java standard library. Swift's standard library is pretty much Cocoa, which isn't being rewritten here.
- nsxwolf 12y agoSo, is the Java version now a JVM language, like Scala and Groovy? Can I use it in IntelliJ or do I have to use this IDE they made?
- vorg 12y ago> is the Java version now a JVM language, like Scala and Groovy I guess so, ditto with .net and android -- that's what happens when a programming language creator, here Apple, specs out a language at the same time they implement it. Could be why Swift is getting many implementations whereas a language only paying lip service to the idea of a spec, say Groovy after Dec 1995, is still stuck on one impl.
- pistle 12y agoApple needs to buy this company in 3, 2, 1... This is an ideal start to countering the concepts from Xamarin out of the .net camp and I would love to see them build up some form of XAML-like UI tech and tooling for x-plat UI dev so you could push the envelope on code-reuse. That would take a big dump of capital. It would also make for a push in the market for this style of x-plat dev. If you can get to the major and minor platforms with one code-base and a single-stack dev team, oh what a smooth world it could be. Windows 10 on all devices, written in Swift to a universal in visual studio. Wonder if I'd get to see a macbook running windows with a dev writing swift in VS.
- eridius 12y agoWhat possible reason would Apple have to buy this company?
- pistle 12y agoSwift developers, building across platforms, can get their Apple-loving code into enterprises through the front door so Apple hardware can start coming through that way as well. Push the Apple brand via programming language in order to sell more hardware. Is the longview really that a closed platform with a narrowly used language will increase the share of revenue from Mac sales? Swift + walled garden are OK for selling phones, but for OSX to go beyond <10% of PC marketshare, they could use a language to erode resistance to Macs in the biggest markets for PCs. Microsoft puts Office on the Mac. Now, you can also have business systems built on Swift that can work on shiny Mac hardware AND crusty Windows boxes. You buy this company because they love Swift and can help get a foothold on dev teams in the enterprise. No matter how many kids come up using Swift to make their phone apps, they are going to get pushed into building C# and java, and a bunch of other languages, using other hardware and tools, when they joins the ranks. You buy this company so you can control the direction of their efforts and use it to put more eggs in other baskets.
- c1sc0 12y agoBuy it to kill it.
- 12y ago
- mintplant 12y agoI hope this doesn't come across as rude, but I can't tell from the site: will this be "free" as in open source or "free" as in freeware?
- djur 12y agoThis appears to be another language frontend for their existing proprietary compiler.
- brudgers 12y agoGenuinely curious. Why Swift for multi-platform rather than C#, Clojure, JavaScript, or <insert other language here>?
- djur 12y agoSwift is statically typed, so it doesn't really compete with JS or Clojure. The company already has a C# implementation for sale. Also, Swift was designed to compile to native code, unlike any of the other three languages.
- pjmlp 12y ago.NET has NGEN since 1.0.
- marcosscriven 12y agoYou can surprisingly effectively cross-compile C and C++ to Javascript now, with Emscripten.
- pjmlp 12y agoThe point is to AOT compile to native code.
- marcosscriven 12y agoIn fact that's exactly what it does: https://blog.mozilla.org/luke/2014/01/14/asm-js-aot-compilation-and-startup-performance/ https://blog.mozilla.org/luke/2014/01/14/asm-js-aot-compilat...
- pjmlp 12y agoI wasn't aware there was a CPU that could run that code natively without a JIT translation layer.
- lukeh 12y agoThis looks interesting, although adding language extensions makes me a bit nervous. What's the ABI compatibility story when targeting Cocoa? Can I mix and match with native Swift classes? Is the native Swift runtime used?
- ckok 12y agoThe language extensions are there to support concepts that don't exist in Swift, for example await and exception handling are pretty much a requirement when targetting .NET and Java/Android. It's ABI compatible with Cocoa, all classes end up usable from Cocoa. It does not use the swift runtime.
- capitalsigma 12y agoLooks pretty shady. Proprietary code through-and-through, and it's "cross platform" because it compiles down to their own proprietary language. It's unclear how you deal with native libraries, if at all. I'll pass, thanks.
- swiftrealist 12y agoProprietary code, completely unlike the Swift frontend.
- csharperer 12y agoNot only that, but good luck keeping up with Apple's developments once they start buckling down and updating the language.
- dwarfland 12y agoWe have a long history of doing more than "keeping up" ;)
- mamcx 12y agoI know this guys from long time. Their RemObjects/DataAbstract is IMHO the best remoting framework ever done (I have use Delphi, .NET, Python, Obj-C, VisualFoxPro and test several frameworks for that). They are supporting their implementation of Pascal for several years now, and my experience of using DataAbstract from obj-c show the interfacing is good.
- martingordon 12y agoI'm curious to know how well it performs. I spent the better part of this weekend rewriting 4k lines of Swift in Objective-C because I couldn't deal with the 60-90 second compile times.
- mythz 12y agoSwift has some land mine issues where the compiler can hit snags handling certain snippets of code (e.g casting to/from Any/AnyObject, method overloading based on constraints, etc) which if you have enough of them will segfault the compiler with something along the lines of "expression too complicated, break it down". I've had to rewrite my approach a few times because of this to avoid certain coding techniques, but once I've rewritten to avoid them, Swift can happily compile my 7-8k LOC code-base in ~6s.
- epaga 12y agoIs there a list somewhere of Swift compiler issues to avoid? Seems like "avoiding certain coding techniques" is what is currently necessary until Apple gets back on top of things... One other example FWIW: having a largish array of Int arrays causes the compiler to either go into an endless loop or simply take too long, UNLESS the type of the array is specified. var data = [[1,2,3],[4,5,6], ... ] // > 20 elements -> compiler hangs as opposed to: var data:[[Int]] = [[1,2,3],[4,5,6], ... ] // compiles quickly
- mythz 12y agoFinding Swift really buggy atm - where XCode, Swift Compiler and SourceCode service routinely crashes multiple times a day for me. A lot of my time is spent sympathizing with the compiler and getting hit with hard fought lessons on what things to avoid - basically don't step too far outside the Swift Programming Guide. Apple's also glacially slow at responding to bug reports - I'm keenly waiting on the next Q/A release of XCode/Swift. There's a whole repo dedicated to Swift compiler crashes being maintained at: https://github.com/practicalswift/swift-compiler-crashes https://github.com/practicalswift/swift-compiler-crashes
- orik 12y agoWhy not create a Swift Compiler and Toolchain for LLVM?
- azakai 12y agoActually it's possible this compiler uses LLVM under the hood - many compilers do these days. This particular one appears to not be open source, though.
- pitterpatter 12y agoThe official swift compiler is already LLVM/Clang based.
- mukundmr 12y agoReading through the details dampened my excitement. It has proprietary extensions to the Swift language (http://docs.elementscompiler.com/Silver/LanguageExtensions/ http://docs.elementscompiler.com/Silver/LanguageExtensions/) and it has differences and limitations as well. (http://docs.elementscompiler.com/Silver/DifferencesAndLimitations/ http://docs.elementscompiler.com/Silver/DifferencesAndLimita...). They do however state it is free for use.
- failed_ideas 12y agoI don't have time to look, but when I signed up, I was given the option for a free trial and the option to spend $500+ depending on the package. I'll have to look closer, but I suspect this is xaraminesque.
- ckok 12y agoThe Swift part of it is free. The C# and Oxygene parts cost, which aren't needed to develop in Swift.
- rsynnott 12y agoIt's understandable that they require a few extensions, for concepts from other environments. Some of the limitations are unfortunate, though. "Patterns are not supported in Switch cases, yet" :(
- deleted 12y ago[deleted]
- solomatov 12y agoIt's not open source.
- throwaway1xx2 12y agoAnyone interested in building open source parser API for Swift? Join me here http://compilerjobs.com/db/jobs_view.php?editid1=984 http://compilerjobs.com/db/jobs_view.php?editid1=984 If parser API succeeds, we will also target making a compiler.
- csharperer 12y agoWhat are the legalities?
- throwaway1xx2 12y agoSwift is just a language specification. It cannot be patented or copyright-ed. Anyone is free to make tools around the language specification. Just like there are many compilers for C/C++ on different platforms, we intend to make one for Swift on Linux/Windows.
- Void_ 12y agoI just want to write web apps in Swift. Any news on that front?
- girvo 12y agoSo much this. It'd be an excellent alternative to Go, with it's nice type system and pretty advanced PL features: I'd love to write web services in Swift, but that's contingent on being able to deploy it to Linux et al.
- LeonidasXIV 12y agoMaybe you should check out OCaml then. It can be deployed to Linux/Windows/Mac OS X without problems, ARM devices. Offers native compilation and can even be compiled to JavaScript. The compiler is fast and freely available. The type systems is even better and more advanced. Coming from Swift I was kinda surprised that its pattern matching was a statement and not an expression, as typical functional languages do.
- eatonphil 12y agoThe state of OCaml documentation is not great... I have had such a pain finding documentation. Generally, the only source for it is the French university that created/promotes it [0]. But even their pages are often almost a decade old and I have frequently found errors in the documentation. Overall, while OCaml is a truly beautiful language (and I do really enjoy writing in it[1]), it is really tough to get work done efficiently because so few resources seem to exist. With that said, I discovered a mod_ocaml Apache module implementation[2] (that is really outdated and not very efficient) and moved it to github. (I am not the author, nor have I had time to work on it either.) But if there was any interest in reviving this, I'd certainly give it a go. This seems to be a potentially viable way to increase interest in server-side OCaml usage. [0] http://caml.inria.fr/resources/doc/index.en.html http://caml.inria.fr/resources/doc/index.en.html [1] https://github.com/eatonphil/owebl https://github.com/eatonphil/owebl [2] https://github.com/eatonphil/mod_ocaml https://github.com/eatonphil/mod_ocaml
- jimmcslim 12y agoThese folks started out with a product to integrate Delphi with .Net.
- seivan 12y agoMake a cross plattform game framework to this - as good as SpriteKit and I'm set. :) Otherwise I have to go with HaXe
- register 12y agoActually I am really of the opposite opinion! Since I am not interested in developing games but rather in cross-platform support I think that Silver is what Haxe should have been!
- seivan 12y agoWe're not of the opposite opinion then ;-) I think Silver is also what HaXe should have been!
- niutech 12y agoSo does it mean I can finally develop apps in Swift language on Windows? Very cool!
- WhitneyLand 12y ago"Anyways" is not standard, might want to change that on the landing page. I would have just pinged privately but I don't see any contact link on the page.
- mikeash 12y agoThe fact that arrays and dictionaries are classes rather than structs is a major problem with this. That's a massive semantic difference between their implementation and Apple's, and it's one that won't show up as a compile-time error. Taking code written for Apple's implementation and using it on Silver is likely to result in a nightmare of crazy debugging trying to track down all the cases where you're now sharing arrays/dictionaries rather than copying them. This really needs to be fixed, and if it's truly impossible, IMO it's bad enough that the thing should be scrapped.
- anonbanker 12y agoA closed-source compiler? In 2015?
- dwarfland 12y agoPeople who want to make a living writing software? in 2015? I know, the idea seems quaint.