3 ms·
How Many Passes? (2010)
- skrebbel 11y agoI always wondered why the C# team chose to compile directly into assemblies. One main (accidental?) advantage of Java's way is that each .java file is compiled into its own .class file, which takes mere milliseconds. The C# compiler is fast, but not millisecond-fast. You can code Java as if it's interpreted code but with better editor support and great error messages. Change the code, run the test or the program, bam, immediate feedback. With C# it's always been change the code, wait a little, ok well just a little longer, yay feedback. Those 5 seconds there really make a difference. I assume there's a performance (or VM simplicity?) reason behind preferring assemblies - after all, you can statically link method calls without needing the JIT to do it for you. But it really hurts developer productivity. I wish they had done both - .class files in debug mode and entire optimized assemblies in release mode. Or something like that.
- deleted 11y ago[deleted]
- Guvante 11y agoJava puts strict naming standards on your files to pull that off, although to be fair they are standards you should normally be following anyway. IMO the fast performing code is best in the IDE's compiler, since that is even faster than a build in most cases. Overall I think the .NET whole assembly building is at very least an interesting industry level example of something different that the common per-file build model used.