5 ms·
>> in a normal day I'd probably average hundreds to a thousand compilation cycles! Maybe it's time to switch to an interpreter ? :-)
by wiz21c 6y ago
>> in a normal day I'd probably average hundreds to a thousand compilation cycles!
Maybe it's time to switch to an interpreter ? :-)
- logicchains 6y agoOr a language like Go, C or Nim that can compile tens of thousands of lines of code in a few seconds.
- pjmlp 6y agoOr OCaml, Java, C#, F#, Eiffel, Delphi,...
- hellofunk 6y agoJust googling “f# compile times” would beg to differ.
- pjmlp 6y agoApparently you didn't bother to read the 3 answers that come up. Only one of them says anything and it an empty statement like > F#'s compile times also seem to err on the long side but not very much so, my impression goes. However it is quite easy to validate write the same algorithm in F# and Rust and then compare. Ah but Rust is AOT compiled, easy, use NGEN, .NET Native, or Mono AOT for the F# compile time measurements.
- hellofunk 6y agoApparently you assume that everyone’s google results are identical.
- pjmlp 6y agoApparently you are too lazy to actually come up with some numbers of Rust compile times being faster than F# compile times. Offloading to Google is so much easier.
- chrisoverzero 6y agoIf that’s the case, then there’s no point in making any claims about what “just googling ‘f# compile times’ ” will reveal.
- setzer22 6y agoI've had a reviewer in a (scientific) journal tell me some paper is relevant, and thus I need to cite it, because it "appears on their top google results". People should be educated on the huge bias introduced by personalized services like google.
- LandR 6y agoI've worked in a C# code base where compiling the solution took 40 minutes.
- koyote 6y agoWow, one of our solutions is nearly 100 projects (legacy) and the compile time for the whole solution is sub-5 minutes. I'd love to see what kind of solution would take 40 minutes to compile! (or maybe I don't :)). That being said, C# is clever enough to only need to recompile the assemblies affected by your code change, so often you can get away with 10 second compile times even for large solutions.
- LandR 6y agoIIRC our solution was around 450 projects. Visual Studio just woudn't open the whole solution. So you had to work in individual projects at a time, slowly going through and changing stuff project by project. VS wouldn't even build it either, really. YOu had to build via batch file that did various ms build magic. I would make changes, set of a build and go to lunch, then come back and fix the errors. Once you checked the code into source control it would trigger a build which would sometimes take upwards of an hour :( I hated that code base. It got even worse when they added Coded UI tests. Wait an hour for a build and then a random Coded UI test would fail and the advice from the people who wrote the Coded UI was "just run another build!", yeah, flakey tests on a code bases that tests an hour to run...
- pjmlp 6y agoNow imagine with the current Rust compile times, compiling those 450 projects from scratch, I bet the 40m would turn into hours.
- deleted 6y ago[deleted]
- tastyminerals2 6y agoYou forgot about D, where you can basically bind ctrl+s to rdmd in your favourite IDE and enjoy scripting language akin experience.
- vips7L 6y agoD is sadly very underrated.
- mlindner 6y agoMy day job is in C and compile time is 30 minutes. It really depends what you're working on.
- logicchains 6y agoDoes it take that long for an incremental build?
- wiz21c 6y agoI've used Nim just a bit on Windows/MingW (I'm from python world). The very short program I made (about 200 lines, mostly math stuff, no framework imports) compiles in 2-3 seconds. It's already too long for me to iterate (it's not a rant against Nim, it's just that it's too long for my way of working; the language is nice and gives good results). Also note that Nim compiles fast, it's the compile-to-native compilation step that takes 90% of the time.
- johnfn 6y agoYou mean a REPL, or an interpreted language? I'd love a REPL that could somehow load the state of my entire app so I could test stuff out, but I've never found a language that could do that and also had reasonable type safety guarantees.
- estsauver 6y agoSome of the best solutions to that world right now seem to be things like lisps with dynamic typing added. You get a great set of repl support, but you can also build components and systems into easy wrapper scripts to load them as needed.
- hellofunk 6y agoI assume you mean static typing enabled. Because lisps are already dynamically typed to begin with.
- estsauver 6y agoThanks, I actually meant gradually typed systems, like rust typed or closure with heavy spec usage.
- hellofunk 6y agoI think you mean Clojure. Closure is something different.
- estsauver 6y agoWhat a terrible day for autocorrect, thank you.
- slifin 6y agoClojure has a java type system which can be partially enforced statically with clj-kondo Clojure spec is great at system boundaries but it's hard to describe it is a type system, it's a predicate system it can define very arbitrary constraints mostly at runtime