5 ms·
It's Clojure, not Closure. Google Closure is an optimizing JavaScript to JavaScript compiler. I'm not sure Go try to replace C. Most (all?) embedded systems ne
by Kototama 14y ago
It's Clojure, not Closure. Google Closure is an optimizing JavaScript to JavaScript compiler.
I'm not sure Go try to replace C. Most (all?) embedded systems need to control memory allocations.
- jff 14y agoWhere does C imply embedded only? The Go authors spent years writing non-embedded programs and operating systems in C, after Ken Thompson laid the groundwork to create C.
- Kototama 14y agoI didn't want to imply that. Just that some use of C won't be covered by Go.
- pjmlp 14y ago> I'm not sure Go try to replace C. Most (all?) embedded systems need to control memory allocations. Are you aware that there are embedded systems coded in GC enabled languages? It is all a matter of the available resources.
- abraininavat 14y agoIt is all a matter of the available resources. I'd say, it's all a matter of the guarantees. Guarantees are everything in embedded systems.
- deleted 14y ago[deleted]
- pjmlp 14y agoWhat about ballistic missile tracking? http://www.militaryaerospace.com/articles/2009/03/thales-chooses-aonix-perc-virtual-machine-software-for-ballistic-missile-radar.html http://www.militaryaerospace.com/articles/2009/03/thales-cho... This is just one example from many I can pick up, this one is Java, but there are systems done in other GC languages as well. But I do agree it is a matter of hardware resources and if hard or soft real time guarantees are to be expected, just that not all embedded systems require real time processing.
- abraininavat 14y agoWhat? I never disagreed that Java is used for realtime embedded systems. I'm aware of the existence of "real time Java". There can be such a thing because of specifications like " areas of memory that are not subject to garbage collection, along with threads that are not preemptable by the garbage collector" [1]. Like I said... guarantees.... [1] http://en.wikipedia.org/wiki/Real_time_Java http://en.wikipedia.org/wiki/Real_time_Java
- pjmlp 14y agoAs I mentioned, Java was just the first example that came to my mind. There are embedded systems being coded in Basic, Oberon, Lisp, Scheme and .NET. Although those systems are usually 32 bit based. 8 and 16 bit systems are too small for those languages.
- pkhagah 14y agoAlso Ada, my favourite language.
- jk4930 14y agoYes, Ada needs more love here. I think that Rust's main goals are already implemented with Ada (low-level, reliable, strong typing etc.). Plus that Ada is a proven work horse with existing tools and best practices. It just hasn't the C feeling they want in Rust.
- pjmlp 14y agoMy heart has a sweet spot for the Pascal family of languages and their strong typing, in regard to C and C++. Ada suffered from lack of available cheap compilers back in the 80's, and like Turbo Pascal and Modula-2 it was a victim of UNIX's success, which had the sad side effect of promoting C for systems programming, with all security issues we have nowadays. Now with the work of GNAT Core, and more security conscious developers, Ada seems to be getting new users, at least here in Europe as more universities adopt it. It is already a constant presence at FOSDEM in the last few years. http://e.ubmelectronics.com/audience/eetnewsletters/02-19-2013-EmbeddedNL.html http://e.ubmelectronics.com/audience/eetnewsletters/02-19-20...
- mtgx 14y agoCould we see a brand-new Chrome browser written in Go, though? Or would it better for Google to use Rust, too, for that?
- fafner 14y agoThe Mozilla/Rust/Servo developers talked about why they continue developing Rust and not considering Go for the job. It has absolutely nothing to do with a turf war because Mozilla is actually using Go for some server side things. But one major reason for not using it to implement Servo (the next-gen browser engine) is the mandatory GC. For a lowlevel performance and memory critical application such as a browser engine you don't want a GC.
- terhechte 14y agoSorry, typo regarding Clojure. Can't edit it anymore though :(